二叉树
颜颜颜颜颜越
这个作者很懒,什么都没留下…
展开
-
二叉排序树的创建和遍历
创建节点class Node{ int value; Node left; Node right; public Node(int value) { super(); this.value = value; } @Override public String toString() { return "Node [value=" + value + "]"; } }添加方法 遍历方法//添加节点 递归添加 需要满足二叉排序树 public void add(N原创 2020-08-27 09:21:59 · 243 阅读 · 1 评论 -
throw 和 throws 的区别
throw:throw 语句用在方法体内,表示抛出异常,由方法体内的语句处理。throw 是具体向外抛出异常的动作,所以它抛出的是一个异常实例,执行throw 一定是抛出了某种异常。throws:throws 语句是用在方法声明后面,表示如果抛出异常,由该方法的调用者来进行异常的处理。throws 主要是声明这个方法会抛出某种类型的异常,让它的使用者要知道需要捕获的异常的类型。throws 表示出现异常的一种可能性,并不一定会发生这种异常。...原创 2020-08-19 21:27:10 · 122 阅读 · 0 评论 -
中序线索化二叉树及遍历实习
线索化比较难理解的是处理后继节点 可以这么想 第一次处理前继节点,r然后游动指针再指向他的后继节点,在下一次处理后继节点。//线索化二叉树 中序线索化 HeroNode pre = null; public void threadedNodes(HeroNode node) { //node当前需要的线索化的节点 if(node == null) { return; } // 先线索化左子树 threadedNodes(node.getLeft()); // 线索原创 2020-08-18 09:03:39 · 209 阅读 · 0 评论 -
二叉树的前序 中序 后序遍历查找(递归实现)
前序查找//前序遍历查找 public HeroNode preOrderSeach(int no) { System.out.println("前序遍历"); if(this.no == no) {//比较当前节点 return this; } //判断当前节点的左子节点是否为空 //如果左递归前序查找 找到节点 则返回 HeroNode res = null;//结果节点 if(this.left!=null) { res = this.left.preO原创 2020-08-10 21:19:53 · 463 阅读 · 2 评论 -
二叉树的前序、中序、后序遍历 (递归)
前序遍历:先输出父节点,再遍历左子树和右子树中序遍历:先遍历左子树,再输出父节点,再遍历右子树后序遍历:先遍历左子树,再遍历右子树,最后输出父节点小结:看输出父节点的顺序,就确定是前序,中序还是后序前序遍历// 前序遍历 public void preOrder() { System.out.println(this);// 先输出父节点 // 递归左子树 if (this.left != null) { this.left.preOrder(); } // .原创 2020-08-10 21:17:11 · 128 阅读 · 1 评论