对于二叉树的遍历:先访问根结点,再访问左子树,最后访问右子树,则是()。

题目
单选题
对于二叉树的遍历:先访问根结点,再访问左子树,最后访问右子树,则是()。
A

中序遍历

B

先序遍历

C

后序遍历

D

按层次遍历

如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

对一棵二叉树的中序遍历序列中,根结点右边的结点属于( )。

A.左子树上的叶子结点

B.右子树上的所有结点

C.左子树上的所有结点

D.右子树上的叶子结点


正确答案:B
解析:根据中序遍历二叉树的特点,先中序遍历左子树,再遍历根结点,最后中序遍历右子树,因此在根结点右边的结点属于右子树上的所有结点。

第2题:

前序法是先访问【 】,然后按前序周游左子树,按前序周游右子树。


正确答案:根
根 解析:本题主要考查了周游二叉树的前序法。 前序法是先访问根,然后按前序周游左子树,按前序周游右子树。

第3题:

下面是对二叉树的叙述,其中错误的是 ( )

A.二叉树的遍历是指不重复地访问二叉树中的所有结点

B.二叉树的遍历允许重复地访问二叉树中的个别结点

C.在遍历二叉树的过程中,一般先遍历左子树,然后再遍历右子树

D.在先左后右的原则下,根据访问根结点的次序,二叉树的遍历可以分为三种:前序遍历、中序遍历、后序遍历


正确答案:B
A和B矛盾,显然只能从二者之中选择。如果允许熏复,就无惟一性。所以二叉树的遍历是指不重复地访问二叉树中的所有结点。

第4题:

若以L,D,R分别表示遍历左子树,访问根结点和遍历右子树,则可有( )种遍历方案。

A.3

B.6

C.8

D.不能确定


正确答案:B
解析:所有的遍历方案有LDR,LRD,DLR,DRL,RLD,RDL一共6种方案。

第5题:

首先访问结点的左子树,然后访问该结点,最后访问结点的右子树,这种遍历方式称为 ( )。

A.前序遍历

B.中序遍历

C.后序遍历

D.顺序遍历


正确答案:B
解析:前序遍历序列的顺序是先根、再左子树、最后右子树;中序遍历序列的顺序是先左子树、再根、最后右子树;后序遍历序列的顺序是先左子树、再右子树、最后根。

第6题:

在【 】中,若树不为空,则访问根结点,依次按前序遍历方式遍历根的每一棵子树。


正确答案:前序遍历
前序遍历 解析:前序遍历若树不为空,则1、访问根结点;2、依次按前序遍历方式遍历根的每一棵子树。后序遍历若树不为空,则1、依次按后序遍历方式遍历根的每一棵子树;2、访问根结点。

第7题:

在非空二叉树的中序遍历序列中,二叉树的根结点的左边(40)。

A.只有左子树上的所有结点

B.只有左子树上的部分结点

C.只有右子树上的所有结点

D.只有右子树上的部分结点


正确答案:A
解析:在非空二叉树中序遍历序列中,二叉树的根结点的左边的那些结点为根结点的左子树上的所有结点。答案为A。

第8题:

设计二叉树的双序遍历算法(双序遍历是指对于二叉树的每一个结点来说,先访问这个结点,再按双序遍历它的左子树,然后再一次访问这个结点,接下来按双序遍历它的右子树)。


参考答案:若树为空,返回;若某结点为叶子结点,则仅输出该结点;否则先输出该结点,递归遍历其左子树,再输出该结点,递归遍历其右子树。
  [算法描述]
  void DoubleTraverse(BiTree T)
  {
  if(T == NULL)
  return;
  else if(T->lchild==NULL&&T->rchild==NULL)
  cout<data; //叶子结点输出
  else
  {
  cout<data;
  DoubleTraverse(T->lchild); //递归遍历左子树
  cout<data;
  DoubleTraverse(T->rchild); //递归遍历右子树
  }
  }

第9题:

前序遍历序列与中序遍历序列相同的二叉树为(1),前序遍历序列与后序遍历序列相同的二叉树为(2)。

A.根结点无左子树的二叉树

B.根结点无右子树的二叉树

C.只有根结点的二叉树或非叶子结点只有左子树的二叉树

D.只有根结点的二叉树或非叶子结点只有右子树的二叉树


正确答案:D

第10题:

对一棵二叉树的中序遍历序列中,根结点的左边包括( )。

A.左子树上的叶子结点

B.右子树上的所有结点

C.左子树上的所有结点

D.右子树上的叶子结点


正确答案:C

更多相关问题