二叉树的四种遍历(java代码)
代码1:
四种遍历方式
代码2
测试上面的四种遍历+先序创建树
package 第四章; import java.util.LinkedList; /* * 测试二叉树的 创建、遍历 * 二叉树结构如下 * A * B C * D E F G * H I J */ public class TestBinaryTree { public static void main(String[] args) { BinaryTree<Character> binaryTree=new BinaryTree<>(); //输入ABDH##I##E##CF#J##G##(#用null代替) LinkedList<Character> tree=new LinkedList<>(); tree.add(A);tree.add(B);tree.add(D); tree.add(H);tree.add(null);tree.add(null); tree.add(I);tree.add(null);tree.add(null); tree.add(E);tree.add(null);tree.add(null); tree.add(C);tree.add(F);tree.add(null); tree.add(J);tree.add(null);tree.add(null); tree.add(G);tree.add(null);tree.add(null); TreeNode<Character> root=binaryTree.creatBinaryPre(tree); //先序遍历(递归) binaryTree.PrintBinaryTreePreRecur(root);System.out.println(); //中序遍历(递归) binaryTree.PrintBinaryTreeMidRecur(root);System.out.println(); //后序遍历(递归) binaryTree.PrintBinaryTreeBacRecur(root);System.out.println(); //先序遍历(非递归) binaryTree.PrintBinaryTreePreUnrecur(root);System.out.println(); //中序遍历(非递归) binaryTree.PrintBinaryTreeMidUnrecur(root);System.out.println(); //后序遍历(非递归) binaryTree.PrintBinaryTreeBacUnrecur(root);System.out.println(); //层次遍历(非递归) binaryTree.PrintBinaryTreeLayerUnrecur(root);System.out.println(); } }
下一篇:
已知中序、后序,求先序