PreOrder116/49
A B C D E F G A B C D E F G PreOrder11 6/49
2)中序遍历的递归算法1/中序遍历的递归算法public void Inorder(BTreeclass bt)tInorder11(bt.b);//被InOrder1方法调用private void InOrder1i(BTNode<Character>t){if(t!=null)1/中序遍历左子树Inorder1i(t.lchild);System.out.print(t.data+ " ");1/访问根结点1/中序遍历右子树Inorder1i(t.rchild);7/49
2)中序遍历的递归算法 public void InOrder1(BTreeClass bt) //中序遍历的递归算法 { InOrder11(bt.b); } private void InOrder11(BTNode<Character> t) //被InOrder1方法调用 { if (t!=null) { InOrder11(t.lchild); //中序遍历左子树 System.out.print(t.data+ " "); //访问根结点 InOrder11(t.rchild); //中序遍历右子树 } } 7/49
In0rder118/49
A B C D E F G InOrder11 A B C D E F G 8/49
3)后序遍历的递归算法1/后序遍历的递归算法public void Postorder1(BTreeclass bt)tPostorder11(bt.b);?//被Postorder1方法调用privatevoid Postorder11(BTNode<Character>t){if(t!=null)1/后序遍历左子树Postorder11(t.lchild);1/后序遍历右子树Postorder11(t.rchild);1/访问根结点System.out.print(t.data+"");9/49
3)后序遍历的递归算法 public void PostOrder1(BTreeClass bt) //后序遍历的递归算法 { PostOrder11(bt.b); } private void PostOrder11(BTNode<Character> t) //被PostOrder1方法调用 { if (t!=null) { PostOrder11(t.lchild); //后序遍历左子树 PostOrder11(t.rchild); //后序遍历右子树 System.out.print(t.data+ " "); //访问根结点 } } 9/49
PostOrder1110/49
A B C D E F G PostOrder11 A B C D E F G 10/49