前序遍历:根左右
中序遍历:左根右
后序遍历:左右根
注:向左遍历就是左递归,向右遍历就是右递归。
代码如下:
//前序遍历
public void preOrder(){
System.out.println(this);
//左递归
if( this.left != null ){
this.left.preOrder();
}
//右递归
if( this.right != null ){
this.right.preOrder();
}
}
//中序遍历
public void infixOrder(){
if( this.left != null ){
this.left.infixOrder();
}
System.out.println(this);
if( this.right != null ){
this.right.infixOrder();
}
}
//后序遍历
public void postOrder(){
//左递归
if( this.left != null ){
this.left.postOrder();
}
//右递归
if( this.right != null ){
this.right.postOrder();
}
System.out.println(this);
}