先序遍历:先访问根节点,再访问左子树,最后访问右子树。
后序遍历:先左子树,再右子树,最后根节点。
中序遍历:先左子树,再根节点,最后右子树。
main函数用来测试:
public static void main(String[] args) {
//创建一颗二叉树
Tree tree = new Tree();
//创建节点
HeroNode root = new HeroNode(0, "ly");
HeroNode node1 = new HeroNode(1, "gl");
HeroNode node2 = new HeroNode(2, "wjr");
HeroNode node3 = new HeroNode(3, "wyr");
HeroNode node4 = new HeroNode(4, "frm");
HeroNode node5 = new HeroNode(5, "ptt");
// 创建二叉树
root.setLeft(node1);
root.setRight(node2);
node1.setLeft(node3);
node1.setRight(node4);
node2.setRight(node5);
// 将根节点付给树
tree.setRoot(root);
//遍历
System.out.println("前序遍历");
tree.preOrder();
System.out.println("中序遍历");
tree.midOrder();
System.out.println("后序遍历");
tree.lastOrder();
}
HeroNode 类是我的节点类