当前位置: 首页 > news >正文

甘孜建设网站哪些网站图片做海报好

甘孜建设网站,哪些网站图片做海报好,宁夏做网站好的公司,个门户网站目录 1.树形结构 1.概念 2.二叉树 2.1概念 2.2 两种特殊的二叉树 2.3二叉树的存储 2.4二叉树的基本操作 1.手动快速创建一棵简单的二叉树 2.二叉树的遍历 (递归) 3.二叉树的层序遍历 4.获取树中节点的个数 5.获取叶子节点的个数 6.获取第K层节点的个数 7.获取二叉…目录 1.树形结构 1.概念 2.二叉树 2.1概念 2.2 两种特殊的二叉树 2.3二叉树的存储 2.4二叉树的基本操作 1.手动快速创建一棵简单的二叉树 2.二叉树的遍历 (递归) 3.二叉树的层序遍历 4.获取树中节点的个数 5.获取叶子节点的个数 6.获取第K层节点的个数 7.获取二叉树的高度 8.检测值为value的元素是否存在 9.判断一棵树是不是完全二叉树 1.树形结构 1.概念 树是一种非线性的数据结构有一个特殊的结点称为根结点根结点没有前驱结点         每棵子树的根结点有且只有一个前驱可以有0个或多个后继         树是递归定义的 注意树形结构中子树之间不能有交集否则就不是树形结构 结点的度当前节点子树的个数 树的度最大的结点的度 叶子结点或终端结点度为0的结点称为叶结点 父结点若一个结点含有子结点则这个结点称为其子结点的父结点 子结点一个结点含有的子树的根结点称为该结点的子结点 根结点没有前驱的结点 结点的层次从根开始定义起根为第1层根的子结点为第2层以此类推 树的高度或深度树中结点的最大层次 2.二叉树 2.1概念 1. 二叉树不存在度大于2的结点 2. 二叉树的子树有左右之分次序不能颠倒因此二叉树是有序树 2.2 两种特殊的二叉树 1. 满二叉树: 一棵二叉树如果每层的结点数都达到最大值则这棵二叉树就是满二叉树。也就是说如果一棵 二叉树的层数为K且结点总数是 2^k - 1则它就是满二叉树。 2. 完全二叉树: 完全二叉树是效率很高的数据结构完全二叉树是由满二叉树而引出来的。对于深度为K的有n 个结点的二叉树当且仅当其每一个结点都与深度为K的满二叉树中编号从0至n-1的结点一一对应时称之为完全二叉树 2.3二叉树的存储 二叉树的存储结构分为顺序存储和类似于链表的链式存储。 二叉树的链式存储是通过一个一个的节点引用起来的常见的表示方式有二叉和三叉表示方式具体如下 // 孩子表示法 class Node { int val; // 数据域 Node left; // 左孩子的引用常常代表左孩子为根的整棵左子树 Node right; // 右孩子的引用常常代表右孩子为根的整棵右子树 } // 孩子双亲表示法 class Node { int val; // 数据域 Node left; // 左孩子的引用常常代表左孩子为根的整棵左子树 Node right; // 右孩子的引用常常代表右孩子为根的整棵右子树 Node parent; // 当前节点的根节点 } 2.4二叉树的基本操作 1.手动快速创建一棵简单的二叉树   public Node TreeBuild(){Node node1 new Node(A);Node node2 new Node(B);Node node3 new Node(C);Node node4 new Node(D);Node node5 new Node(E);Node node6 new Node(F);Node node7 new Node(G);Node node8 new Node(H);Node node9 new Node(I);Node node10 new Node(J);Node node11 new Node(K);node1.left node2;node1.right node3;node2.left node4;node2.right node5;node3.left node6;node3.right node7;node4.left node8;node4.right node9;node5.right node10;node6.right node11;return node1;} 2.二叉树的遍历 (递归) · //前序遍历public void preOrder(Node root){if(root null){return ;}System.out.print(root.val );preOrder(root.left);preOrder(root.right);}//中序遍历public void inOrder(Node root){if(root null){return;}inOrder(root.left);System.out.print(root.val );inOrder(root.right);}//后序遍历public void postOrder(Node root){if(root null){return;}postOrder(root.left);postOrder(root.right);System.out.print(root.val );}3.二叉树的层序遍历 //层序遍历public ListListCharacter levelOrder(Node root){//创建一个二维数组保存每一层的元素ListListCharacter list new ArrayList();if(root null){return list;}//临时队列DequeNode deque new LinkedList();//头节点放入队列deque.offer(root);//队列非空进循环while(!deque.isEmpty()){int size deque.size();ListCharacter curList new ArrayList();for (int i 0; i size; i){Node x deque.pop();//左子树不为空左子树入队列if(x.left ! null){deque.offer(x.left);}//右子树不为空右子树入队列if(x.right ! null){deque.offer(x.right);}//出栈的元素值存放在临时数组里curList.add(x.val);}//出循环将临时数组加入二维数组list.add(curList);}return list;} 4.获取树中节点的个数 public int size(Node root){if(root null){return 0;}return 1 size(root.left) size(root.right);} 5.获取叶子节点的个数 // 获取叶子节点的个数int getLeafNodeCount(Node root){if(root null){return 0;}if(root.left null root.right null){return 1;}return getLeafNodeCount(root.left) getLeafNodeCount(root.right);} 6.获取第K层节点的个数 // 获取第K层节点的个数int getKLevelNodeCount(Node root,int k){if(root null || k 0){return 0;}if(k 1){return 1;}return getKLevelNodeCount(root.left,k-1) getKLevelNodeCount(root.right,k-1);} 7.获取二叉树的高度 // 获取二叉树的高度int getHeight(Node root){if(root null){return 0;}return 1 Math.max(getHeight(root.left),getHeight(root.right));} 8.检测值为value的元素是否存在 // 检测值为value的元素是否存在public boolean find(Node root, int val){if(root null){return false;}if(root.val val){return true;}return find(root.left,val) || find(root.right,val);} 9.判断一棵树是不是完全二叉树 // 判断一棵树是不是完全二叉树boolean isCompleteTree(Node root){if(root null){return true;}//队列为空出循环两个阶段//1.所有都是度为2的节点//2.碰到第一个度为1的节点右节点直接false,左节点进入第二阶段//碰到第一个度为0的节点进入第二阶段//3。第二阶段都是叶子节点如果有不是叶子节点直接falseDequeNode deque new LinkedList();deque.offer(root);boolean flag true;while(!deque.isEmpty()){if(flag){Node x deque.poll();if(x.left ! null x.right ! null){deque.offer(x.left);deque.offer(x.right);}else if(x.right ! null){return false;}else if(x.left ! null){deque.offer(x.left);flag false;}else {flag false;}}else {Node x deque.poll();if(x.left ! null || x.right ! null){return false;}}}return true;}
http://www.hkea.cn/news/14561536/

相关文章:

  • 厚街建设网站山东网站制作推荐
  • 做单位网站的公司吗广东企业网站建设公司价格
  • 做网站用什么后台电子个人简历手机版免费
  • 作图网站制作网页小图片
  • 网站开发者取色工具深圳公司注册要求
  • 公司网络组建方案设计建瓯网站建设wzjseo
  • 东莞常平网站设计二级域名网站优化
  • 量品定制怎么发展客户淘宝做seo要建网站吗
  • 网站建设主要包括哪两个方面西安景点网页设计
  • 怎么登陆自己建的网站新开传奇网站180火龙
  • 手机网站电话漂浮代码西宁今天最新官方消息
  • 牡丹江林口县建设局网站seo优化是什么职业
  • 双桥网站建设深圳市龙华区网站建设
  • 网站刷流量会怎么样重庆今天刚刚发生的重大新闻
  • 男生跟男生做口视频网站行业网站建设运营
  • 网站重购淇县住房和城乡建设局网站
  • 网站检索功能怎么做呢移动终端开发
  • 移动网站建站视频教程wordpress下拉式菜单
  • 广州搜域网络提供专业的网站建设wordpress 小工具区
  • 公司网站域名备案对网站名称有要求或界定吗网站的内容规划怎么写
  • 电子商务网站建设的范围是什么意思建一个电商网站要多少钱
  • app手机网站制作注册公司需要什么条件吗
  • 九寨沟城乡建设官方网站网站建设2000元
  • 网站模板 phpcms网站到期续费要多少钱
  • 给网站加织梦后台html5 音乐网站
  • 门户网站建设 工具内蒙做网站
  • 做网站多钱一年同时做几个网站的seo
  • 定制摄影app和摄影网站的区别什么主题的网站容易做点
  • 网站产品展示单页模板谷歌字体wordpress主题
  • 成都网站建设优化企业排名友情链接赚钱