二叉树遍历,查找,删除节点,线索化
二叉树很明显就只有两个分叉,及左子节点和右子节点,这里主要是说明二叉树的遍历,查找节点和删除节点,线索化这几种。 遍历分为前序遍历,中序遍历,后序遍历这三种,前,中,后是相对中间节点来说的,及前序比那里是先中间节点,在左边节点,最后右边节点。 下面是前序遍历代码: public void preOrder(){ System.out.println(this); if(this.left!=null) { this.left.preOrder(); } if(this.right!=null) { this.right.preOrder(); } } 这是节点的前序遍历,在二叉树里面遍历还需要判断给的节点是不是空: public void preOrder() { if(this.root!=null) { this.root.preOrder(); //调用上面的preOrder方法。 }else { System.out.println("二叉树为空"); } } 中序和后序遍历和上面差不多,就是输出顺序不一样,可以自行参照对比。 查找节点:也分为前序遍历查找。中序遍历查找,后序遍历查找。 前序遍历查找思路:就是按照中间节点,左子树,右子树的顺序遍历找到相同节点就赋值,然后退出,没找到就返回一个空节点。 代码如下:也分为节点的遍历和二叉树的遍历,二叉树的遍历要判断是否为空 /