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

虚拟主机怎么设计网站微信贷款怎么申请开通

虚拟主机怎么设计网站,微信贷款怎么申请开通,最新的国际新闻事件,服饰网站建设 e-idea二叉树是一种非常重要的数据结构#xff0c;它同时具有数组和链表各自的特点#xff1a;它可以像数组一样快速查找#xff0c;也可以像链表一样快速添加。但是他也有自己的缺点#xff1a;删除操作复杂。我们先介绍一些关于二叉树的概念名词。二叉树#xff1a;是每个结点…二叉树是一种非常重要的数据结构它同时具有数组和链表各自的特点它可以像数组一样快速查找也可以像链表一样快速添加。但是他也有自己的缺点删除操作复杂。我们先介绍一些关于二叉树的概念名词。二叉树是每个结点最多有两个子树的有序树在使用二叉树的时候数据并不是随便插入到节点中的一个节点的左子节点的关键值必须小于此节点右子节点的关键值必须大于或者是等于此节点所以又称二叉查找树、二叉排序树、二叉搜索树。完全二叉树若设二叉树的高度为h除第 h 层外其它各层 (1h-1) 的结点数都达到最大个数第h层有叶子结点并且叶子结点都是从左到右依次排布这就是完全二叉树。满二叉树——除了叶结点外每一个结点都有左右子叶且叶子结点都处在最底层的二叉树。深度——二叉树的层数就是深度。二叉树的特点总结(1)树执行查找、删除、插入的时间复杂度都是O(logN)(2)遍历二叉树的方法包括前序、中序、后序(3)非平衡树指的是根的左右两边的子节点的数量不一致(4) 在非空二叉树中第i层的结点总数不超过 , i1(5)深度为h的二叉树最多有个结点(h1)最少有h个结点(6)对于任意一棵二叉树如果其叶结点数为N0而度数为2的结点总数为N2则N0N21二叉树的Java代码实现首先是树的节点的定义下面的代码中使用的是最简单的int基本数据类型作为节点的数据如果要使用节点带有更加复杂的数据类型换成对应的对象即可。/**** ClassName: com.tree.TreeNode* Description: 节点* author zhaokaiqiang* date 2014-12-5 下午4:43:24**/public class TreeNode {// 左节点private TreeNode lefTreeNode;// 右节点private TreeNode rightNode;// 数据private int value;private boolean isDelete;public TreeNode getLefTreeNode() {return lefTreeNode;}public void setLefTreeNode(TreeNode lefTreeNode) {this.lefTreeNode lefTreeNode;}public TreeNode getRightNode() {return rightNode;}public void setRightNode(TreeNode rightNode) {this.rightNode rightNode;}public int getValue() {return value;}public void setValue(int value) {this.value value;}public boolean isDelete() {return isDelete;}public void setDelete(boolean isDelete) {this.isDelete isDelete;}public TreeNode() {super();}public TreeNode(int value) {this(null, null, value, false);}public TreeNode(TreeNode lefTreeNode, TreeNode rightNode, int value,boolean isDelete) {super();this.lefTreeNode lefTreeNode;this.rightNode rightNode;this.value value;this.isDelete isDelete;}Overridepublic String toString() {return TreeNode [lefTreeNode lefTreeNode , rightNode rightNode , value value , isDelete isDelete ];}}下面给出二叉树的代码实现。由于在二叉树中进行节点的删除非常繁琐因此下面的代码使用的是利用节点的isDelete字段对节点的状态进行标识/**** ClassName: com.tree.Tree* Description: 二叉树的定义* author zhaokaiqiang* date 2014-12-8 上午7:51:49**/public class BinaryTree {// 根节点private TreeNode root;public TreeNode getRoot() {return root;}/*** 插入操作** param value*/public void insert(int value) {TreeNode newNode new TreeNode(value);if (root null) {root newNode;root.setLefTreeNode(null);root.setRightNode(null);} else {TreeNode currentNode root;TreeNode parentNode;while (true) {parentNode currentNode;// 往右放if (newNode.getValue() currentNode.getValue()) {currentNode currentNode.getRightNode();if (currentNode null) {parentNode.setRightNode(newNode);return;}} else {// 往左放currentNode currentNode.getLefTreeNode();if (currentNode null) {parentNode.setLefTreeNode(newNode);return;}}}}}/*** 查找** param key* return*/public TreeNode find(int key) {TreeNode currentNode root;if (currentNode ! null) {while (currentNode.getValue() ! key) {if (currentNode.getValue() key) {currentNode currentNode.getLefTreeNode();} else {currentNode currentNode.getRightNode();}if (currentNode null) {return null;}}if (currentNode.isDelete()) {return null;} else {return currentNode;}} else {return null;}}/*** 中序遍历** param treeNode*/public void inOrder(TreeNode treeNode) {if (treeNode ! null treeNode.isDelete() false) {inOrder(treeNode.getLefTreeNode());System.out.println(-- treeNode.getValue());inOrder(treeNode.getRightNode());}}}在上面对二叉树的遍历操作中使用的是中序遍历这样遍历出来的数据是增序的。下面是测试代码:public class Main {public static void main(String[] args) {BinaryTree tree new BinaryTree();// 添加数据测试tree.insert(10);tree.insert(40);tree.insert(20);tree.insert(3);tree.insert(49);tree.insert(13);tree.insert(123);System.out.println(root tree.getRoot().getValue());// 排序测试tree.inOrder(tree.getRoot());// 查找测试if (tree.find(10) ! null) {System.out.println(找到了);} else {System.out.println(没找到);}// 删除测试tree.find(40).setDelete(true);if (tree.find(40) ! null) {System.out.println(找到了);} else {System.out.println(没找到);}}}
http://wiki.neutronadmin.com/news/281783/

相关文章:

  • 做网站国家大学科技园郑州兰州网站设计公司
  • 网站建设百度索引wordpress段子
  • 深圳网站建设服务平台天津网站推广优化
  • 网站做相片wordpress中文是什意思
  • 如何做网站关键词霸屏网站建设内容策略有哪些
  • 大气企业响应式网站公司外贸网站建设
  • 老牌网站建设网站域名所有权证书
  • 怎样在网上做网站做外贸网站
  • 百度云空间能做网站吗可以用自己的电脑做网站吗
  • 河北建设集团有限公司 信息化网站青羊区定制网站建设报价
  • 扁平化网站布局辽宁省工程建设信息网官网
  • 域名空间网站建设北京展厅设计公司科技展厅装修
  • 横琴网站建设公司扬中网站推广
  • 自己做网站能赚钱吗2018网站开发使用框架原因
  • 做网站所需要的代码网站上文章分享的代码怎么做
  • 网站建设saas排名免费聊天软件
  • 网站建设pdf微盘广州网站seo公司
  • 摄影旅游网站源码商贸企业网站建设设计方案
  • 网站怎么上传到空间海南网站搭建价格
  • 做网站开发要多久宿迁建设局网站拆除备案
  • 七星彩网站开发专业团队打造专业品质
  • 企石东莞网站建设自己怎么做响应式网站
  • 河源建设网站网站备案信息页面
  • 莱州双语网站专业的深圳网站设计
  • 企业网站 案例定远建设小学投诉网站
  • 中文的网站做不成二维码做电影网站用什么虚拟主机
  • 美团做团购网站成都网站推广经理
  • 设计师个人网站架构网站开发工作室 建设 方案
  • 如何快速自己做网站wordpress和淘宝客程序
  • 用php做的订票网站域名查询系统