设一棵二叉树结点的先序遍历序历为:ABDECFGH,中序遍历序历

题目

设一棵二叉树结点的先序遍历序历为:ABDECFGH,中序遍历序历为:DEBAFCHG,则二叉树中叶结点是()。

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

第1题:

在一棵二叉树的先序遍历、中序遍历、后序遍历所产生的序列中,所有叶节点的先后顺序( )。

A.都不相同

B.完全相同

C.先序和中序相同,而与后序不同

D.中序和后序相同,而与先序不同


正确答案:B
解析:根据“根一左一右”,“左一根一右”,“左一右一根”的遍历原则,可以知道,在3种遍历所产生的序列中,所有叶节点的先后顺序是完全相同的。

第2题:

设某一二叉树先序遍历为abdec,中序遍历为dbeac,则该二叉树后序遍历的顺序是()。

A.abedc

B.abdec

C.debac

D.debca


参考答案:D

第3题:

设一棵二叉树的中序遍历结果为DBEACF,前序遍历结果为ABDECF,则后序遍历结果为________。


正确答案:
DEBFCA【分析】我们可以根据前序遍历的结果ABDECF,确定第l个元素A是根结点,再看中序遍历的结果DBEACF,A前面的DBE应该在左子树,A后面的FC应该在右子树。根据前序遍历的结果和中序遍历的结果,我们可以推导出:A是根结点,B是A的左结点,D是B的左结点,E是B的右结点.C是A的右结点,F是C的右结点,画出的二叉树如图1.17所示。对图进行后序遍历的结果为DEBFCA。
总结:先根据前序遍历或后序遍历的结果,确定根结点,根据根结点确定左右予树上的结点,再根据两种遍历画出对应的二叉树,最后遍历二叉树得到第三种遍历结果。

第4题:

一棵二叉树的先序遍历序列为ABCDEF,中序遍历序列为CBAEDF,则后序遍历序列为()。

A.CBEFDA

B.FEDCBA

C.CBEDFA

D.不确定


参考答案:A

第5题:

图的广度优先遍历算法类似于二叉树的________。

A、先序遍历

B、中序遍历

C、后序遍历

D、层序遍历


参考答案:D

第6题:

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


参考答案:若树为空,返回;若某结点为叶子结点,则仅输出该结点;否则先输出该结点,递归遍历其左子树,再输出该结点,递归遍历其右子树。
  [算法描述]
  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); //递归遍历右子树
  }
  }

第7题:

二叉树的遍历方式有()

A先序遍历

B中序遍历

C后序遍历

D线索遍历


参考答案:ABC

第8题:

● 已知一个二叉树的先序遍历序列为①、②、③、④、⑤,中序遍历序列为②、①、④、③、⑤,则该二叉树的后序遍历序列为 (57) 。对于任意一棵二叉树,叙述错误的是 (58) 。

(57)A. ②、③、①、⑤、④

B. ①、②、③、④、⑤

C. ②、④、⑤、③、①

D. ④、⑤、③、②、①

(58)A. 由其后序遍历序列和中序遍历序列可以构造该二叉树的先序遍历序列

B. 由其先序遍历序列和后序遍历序列可以构造该二叉树的中序遍历序列

C. 由其层序遍历序列和中序遍历序列可以构造该二叉树的先序遍历序列

D. 由其层序遍历序列和中序遍历序列不能构造该二叉树的后序遍历序列


正确答案:C,B
试题(57)、(58)分析
  本题考查数据结构基础知识。
  遍历运算是二叉树的基本运算,主要有先序、中序、后序和层序遍历。
  先序遍历的基本方法:对于非空二叉树,先访问根结点,然后先序遍历根的左子树,最后先序遍历根的右子树。因此,若已知某二叉树的先序遍历序列,则可直接得到其树根结点。
  中序遍历的基本方法:对于非空二叉树,先中序遍历根的左子树,然后访问根结点,最后中序遍历根的右子树。因此,若已知某二叉树的根结点,则一可根据中序遍历序列将该二叉树左右子树上的结点划分开。
  后序遍历的基本方法:对于非空二叉树,首先后序遍历根的左子树,接着后序遍历根的右子树,最后访问根结点。因此,若已知某二叉树的后序遍历序列,则可直接得到其树根结点。
  题中给出的先序遍历序列为①、②、③、④、⑤,可知树根结点是①,据此再结合中序遍历序列②、①、④、③、⑤,可知②是根结点①左子树上的结点,由于是左子树上唯一的一个结点,因此②是根结点①的左孩子。对于右子树上的结点④、③、⑤,因右子树的先序遍历序列为③、④、⑤,因此③是根结点①的右孩子。依此类推,可知④是结点③的左孩子,⑤是结点③的右孩子。该二叉树如下图所示。

 
  从二叉树的遍历过程可知,从先序遍历序列和后序遍历序列中无法将左子树和右子树上的结点区分开,因此,由某棵二叉树的先序遍历序列和后序遍历序列不能构造出该二叉树的中序遍历序列。
  层序遍历二叉树的方法:设二叉树的根结点所在层数为1,则层序遍历二叉树的操作定义为从树的根结点出发,首先访问第一层的结点(根结点),然后从左到右依次访问第二层上的结点,接着是第三层上的结点,依此类推,自上而下、自左至右逐层访问树中各层上的结点。

 

第9题:

一棵二叉树的先序遍历序列为ABCDEFG,它的中序遍历序列可能()。

A.CABDEFG

B.ABCDEFG

C.DACEFBG

D.ADCFEGB


参考答案:B

第10题:

如果二叉树T2是由一棵树T1转换而来的二叉树,那么T1中结点的先根序列对应T2的()序列。

A.先序遍历

B.中序遍历

C.后序遍历

D.层次遍历


参考答案:A

更多相关问题