二叉树的三种遍历方式
//中序遍历
public void printNode(){
if (this.left!=null){
this.left.printNode();
}
System.out.print(this.data+"->");
if (this.right!=null){
this.right.printNode();
}
}
中序遍历,用根节点调用printNode方法,注意this关键字为当前调用者,即第一次调用者为root,
同时,在生成其他节点时用了new创建了新的对象,所以程序会完全遍历。
思想是只有当左子树为空时才输出节点
//后序遍历
public void printBNode(){
if (this.left!=null){
this.left.printBNode();
}
if (this.right!=null){
this.right.printBNode();
}
System.out.print(this.data+"->");
}
后序遍历,思想是只有当左子树和右子树都为空时才输出节点
//前序遍历
public void printFNode(){
if (this.left != null){
System.out.print(this.left.data+"->");
this.left.printFNode();
}
if (this.right!=null){
System.out.print(this.right.data+"->");
this.right.printFNode();
}
}
前序遍历:思想是首先输出根节点,然后当左子树或右子树不为空时输出节点
输入 处理 输出

浙公网安备 33010602011771号