void PreOrder(BinTree bt)//递归先序遍历算法{ if(bt==NULL) return; //递归出口visit(bt); //访问根结点 InOrder (leftchild(bt)); //中序遍历左子树 InOrder (rightchild(bt)); //中序遍历右子树 }void InOrder(BinTree bt)//递归中序遍历算法{ if(bt==NULL) return; //递归出口 PreOrder (leftchild(bt)); //先序遍历左子树 visit(bt); //访问根结点 PreOrder (rightchild(bt)); //先序遍历右子树 }void main(){ bt = CreateBinTree();//创建一棵二叉树 Preorder(bt); //入口}对下面二叉树执行以上程序,则输出序列是()[img=94x192]1803078d93c9821.png[/img]
A: 1,2,3,4,5
B: 1,3,5,4,2
C: 5,4,3,2,1
D: 1,3,4,5,2
A: 1,2,3,4,5
B: 1,3,5,4,2
C: 5,4,3,2,1
D: 1,3,4,5,2
举一反三
- void PreOrder(BinTree bt)//递归先序遍历算法{ if(bt==NULL) return; //递归出口 visit(bt); //访问根结点 InOrder (leftchild(bt)); //中序遍历左子树 InOrder (rightchild(bt)); //中序遍历右子树 }void InOrder(BinTree bt)//递归中序遍历算法{ if(bt==NULL) return; //递归出口 PreOrder (leftchild(bt)); //先序遍历左子树 visit(bt); //访问根结点 PreOrder (rightchild(bt)); //先序遍历右子树 }void main(){ bt = CreateBinTree(); //创建一棵二叉树 Preorder(bt); //入口}对下面二叉树执行以上程序,则输出序列是()[img=94x192]18031cb3c2815d5.png[/img] A: 1,3,5,4,2 B: 1,2,3,4,5 C: 5,4,3,2,1 D: 1,3,4,5,2
- 下面是二叉树的中序遍历算法,对空白处填空()void InOrder_Recursion(BinTree bt) //递归中序遍历{ if( ) return; InOrder_Recursion(bt->leftchild); printf("%c",bt->data); InOrder_Recursion(bt->rightchild);}? 以上答案都不对|bt==NULL|bt!=NULL|bt=NULL
- 若将一颗树T转化为对应的二叉树BT,则下列对BT的遍历中,其遍历序列与T的后根遍历序列相同的是( )。 A: 先序遍历 B: 中序遍历 C: 后序遍历 D: 按层遍历
- 若将一棵树T转化为对应的二叉树BT,则下列对BT的遍历中,其遍历序列与T的后序遍历序列相同的是()。【2019年全国试题2(2分)】 A: 先序遍历 B: 中序遍历 C: 后序遍历 D: 层次遍历
- 下面的程序段,实现对一棵二叉树的先根遍历。 public void preorder(BinaryNode p) // 先根次序遍历以p结点为根的子树,递归方法 { if (p != null) // 若二叉树不空 { System.out.print(p.data.toString() + " "); // 根先访问 ; // 遍历p的左子树,递归调用 ; // 遍历p的右子树,递归调用 } }