目录
简介:
二叉树的遍历主要是前序遍历,中序遍历,和后续遍历,那么如何理解二叉树的三大遍历呢?我发现通过java代码的形式能更好的让人理解二叉树的三大遍历
首先是前序遍历
首先肯定创建一个二叉树
public class Binarytree {
public String name;
public Binarytree left;
public Binarytree reight;
}
编写前序遍历方法
//前序遍历
public void preOrder(){
System.out.println(this);
if(this.left!=null)
this.left.preOrder();
if(this.reight!=null)
this.reight.preOrder();
}
观察前序遍历的循环,每次循环之前都要先打印该节点在进行循环,递归调用这个方法的时候也是一样的,打印完后则遍历左子节点,一层一层遍历下去当左子节点为空时,在遍历该节点的右子节点,如果右子节点也为空,结束当前循环,返回到上一个节点,如果不为空,则继续递归跟上述流程一样
考虑清除上面的前序遍历在来写出下面二叉树的前序遍历就很简单了:12489510367
中序遍历
//中序遍历
public void infixOrder(){
if(this.left!=null)
this.left.infixOrder();
System.out.println(this);
if(this.reight!=null)
this.reight.infixOrder();
}
中序遍历则是先遍历左子节点,在打印每个节点,在来遍历右子节点
则二叉树的中序遍历:84921051637
后序遍历
//后序遍历
public void postOrder(){
if(this.left!=null)
this.left.infixOrder();
if(this.reight!=null)
this.reight.infixOrder();
System.out.println(this);
}
后序遍历则是最后才打印节点的信息,先遍历左子节点在遍历右子节点
二叉树的后序遍历:89410526731