ew TreeNode("A");
? ? ? ? TreeNode nodeB = new TreeNode("B");
? ? ? ? TreeNode nodeC = new TreeNode("C");
? ? ? ? TreeNode nodeD = new TreeNode("D");
? ? ? ? TreeNode nodeE = new TreeNode("E");
? ? ? ? TreeNode nodeF = new TreeNode("F");
? ? ? ? TreeNode nodeG = new TreeNode("G");
? ? ? ? TreeNode nodeH = new TreeNode("H");
? ? ? ? TreeNode nodeI = new TreeNode("I");
? ? ? ? nodeA.setLchild(nodeB);
? ? ? ? nodeA.setRchild(nodeD);
? ? ? ? nodeB.setRchild(nodeC);
? ? ? ? nodeD.setLchild(nodeE);
? ? ? ? nodeD.setRchild(nodeF);
? ? ? ? nodeF.setLchild(nodeG);
? ? ? ? nodeF.setRchild(nodeI);
? ? ? ? nodeG.setRchild(nodeH);
? ? ? ?
? ? ? ?
? ? ? ? System.out.println("\n\n"+"*****************");
? ? ? ? System.out.print("树的高度:");?
? ? ? ? System.out.println(bt.height(nodeA));
? ? ? ? System.out.print("节点的个数:");?
? ? ? ? System.out.println(bt.size(nodeA));
? ? ? ? System.out.println("先序遍历:");?
? ? ? ? bt.preOrder(nodeA);?
? ? ? ? System.out.println();?
?
? ? ? ? System.out.println("中序遍历:");?
? ? ? ? bt.inOrder(nodeA);?
? ? ? ? System.out.println();?
?
? ? ? ? System.out.println("后序遍历:");?
? ? ? ? bt.postOrder(nodeA);?
? ? ? ? System.out.println();
? ? ? ?
? ? ? ? System.out.println("层次遍历:");?
? ? ? ? bt.levelOrder(nodeA);
? ? }
}
上述程序的运行结果:
树的高度:4
节点的个数:8
先序遍历:
1 2 4 8 5 3 6 7
非递归先序遍历:
1 2 4 8 5 3 6 7
中序遍历:
8 4 2 5 1 6 3 7
非递归中序遍历:
8 4 2 5 1 6 3 7
后序遍历:
8 4 5 2 6 7 3 1
非递归后序遍历:
8 4 5 2 6 7 3 1
层次遍历:
1 2 3 4 5 6 7 8
*****************
树的高度:5
节点的个数:9
先序遍历:
A B C D E F G H I
中序遍历:
B C A E D G H F I
后序遍历:
C B E H G I F D A
层次遍历:
A B D C E F G I H