三种遍历方式:
先序遍历:遍历顺序规则为【根左右】
中序遍历:遍历顺序规则为【左根右】,遍历结果从小到达排列
后序遍历:遍历顺序规则为【左右根】
代码实现:
先序遍历:
//前序遍历
public void frontOrder(Node node){
if (node!=null){
System.out.print(node.getData()+" ");
frontOrder(node.getLeftNode());
frontOrder(node.getRightNode());
}
}
中序遍历:
//中序遍历 从小到大排序
public void inOrder(Node node){
if (node!=null){
inOrder(node.getLeftNode());
System.out.print(node.getData()+" ");
inOrder(node.getRightNode());
}
}
后序遍历:
//后序遍历
public void afterOrder(Node node){
if (node!=null){
afterOrder(node.getLeftNode());
afterOrder(node.getRightNode());
System.out.print(node.getData()+" ");
}
}
测试:
public class TreeTest {
public static void main(String[] args) {
Tree tree = new Tree();
tree.insert(10);
tree.insert(5);
tree.insert(3);
tree.insert(6);
tree.insert(15);
tree.insert(11);
tree.insert(17);
tree.afterOrder(tree.getRootNode());
}
}