中级数据库系统工程师

单选题二叉树的前序、中序和后序遍历法最适合采用__(1)__来实现。查找树中,由根结点到所有其他结点的路径长度的总和称为__(2)__,而使上述路径长度总和达到最小的树称为__(3)__。它一定是__(4)__。在关于树的几个叙述中,只有__(5)__是正确的。空白(2)处应选择()A 路径和B 内部路径长度C 总深度D 深度和

题目
单选题
二叉树的前序、中序和后序遍历法最适合采用__(1)__来实现。查找树中,由根结点到所有其他结点的路径长度的总和称为__(2)__,而使上述路径长度总和达到最小的树称为__(3)__。它一定是__(4)__。在关于树的几个叙述中,只有__(5)__是正确的。空白(2)处应选择()
A

路径和

B

内部路径长度

C

总深度

D

深度和

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

第1题:

输出二叉树中从每个叶子结点到根结点的路径。


参考答案:采用先序遍历的递归方法,当找到叶子结点*b时,由于*b叶子结点尚未添加到path中,因此在输出路径时还需输出b->data值。
  [算法描述]
  void AllPath(BTNode *b,ElemType path[],int pathlen)
  {int i;
  if (b!=NULL)
  {if (b->lchild==NULL && b->rchild==NULL) //*b为叶子结点
  {cout << " " << b->data << "到根结点路径:" << b->data;
  for (i=pathlen-1;i>=0;i--)
  cout << endl;
  }
  else
  {path[pathlen]=b->data; //将当前结点放入路径中
  pathlen++; //路径长度增1
  AllPath(b->lchild,path,pathlen); //递归扫描左子树
  AllPath(b->rchild,path,pathlen); //递归扫描右子树
  pathlen--; //恢复环境
  }
  }// if (b!=NULL)
  }//算法结束

第2题:

二叉树的前序、中序和后序遍历法最适合采用(1)来实现。

查找树中,由根结点到所有其他结点的路径长度的总和称为(2),而使上述路径长度总和达到最小的树称为(3)。它一定是(4)。

在关于树的几个叙述中,只有(5)是正确的。

A.递归程序

B.迭代程序

C.队列操作

D.栈操作


正确答案:A

第3题:

从供选择的答案中选出应填入下列叙述中()内的正确答案:

树是结点的集合,它有(A)个根结点。二叉树有(B)个根结点,按一定的规则,任一树都可以转换成惟一对应的二叉树。二叉树的查找有深度优先和广度优先两类,深度优先包括(C)。当一棵二叉树的前序序列和中序序列分别是HGEDBFCA和EGBDHFAC时,其后序序列必是(D),层次序列为(E).

供选择的答案

A:①且只有1 ②1或多于1

③0或1 ④至少2

B:①且只有1 ②1或多于1

③0或1 ④至少2

C:①前序遍历后序遍历中序遍历

②前序遍历后序遍历层次遍历

③前序遍历中序遍历层次遍历

④中序遍历后序遍历层次遍历

D:①BDEAGFHC ②EBDGACFH

②HGFEDCBA ④HFGDEABC

E:①BDEACGFH ②EBDGACFH

③HGFEDCBA ④HFGCDEAB


正确答案:A:① B:③ C:① D:② E:③
A:① B:③ C:① D:② E:③

第4题:

哈夫曼树又称为(),它是n个带权叶子结点构成的所有二叉树中带权路径长度WPL()。
最优二叉树;最小的二叉树

第5题:

根据权值集合{0.30,0.25,0.25,0.12,0.08}构造的哈夫曼树中,每个权值对应哈夫曼树中的一个叶结点()

A.根结点到所有叶结点的路径长度相同
B.根结点到权值0.30和0.25所表示的叶结点路径长度相同
C.根结点到权值0.30所表示的叶结点路径最长
D.根结点到权值0.25所表示的两个叶结点路径长度不同

答案:B
解析:
根据哈夫曼树构造原则,画出哈夫曼树如下:

第6题:

从一个结点到其后继结点之间的连线称为一个分支;从一个结点X到另一个结点Y所经历的所有分支构成结点X到结点Y的路径;一条路径上的分支数目称为路径长度;从树的根结点到其他各个结点的最长路径长度称为树的路径长度。()

此题为判断题(对,错)。


参考答案:错误

第7题:

下面关于事件结点网络中关键路径的叙述,(39)是正确的。

A.关键路径是从开始结点到完成结点的具有最大长度的路径,关键路径的长度就是完成整个工程所需的最长时间

B.关键路径是从开始结点到完成结点的具有最小长度的路径,关键路径的长度就是完成整个工程所需的最长时间

C.关键路径是从开始结点到完成结点的具有最大长度的路径,关键路径的长度就是完成整个工程所需的最短时间

D.关键路径是从开始结点到完成结点的具有最小长度的路径,关键路径的长度就是完成整个工程所需的最短时间


正确答案:C
解析:本题考查网络中关键路径的概念。关键路径是从开始结点到完成结点具有最大长度的路径,关键路径的长度就是完成整个工程所需的最短时间。

第8题:

求任意二叉树中第一条最长的路径长度,并输出此路径上各结点的值。


参考答案:因为后序遍历栈中保留当前结点的祖先的信息,用一变量保存栈的最高栈顶指针,每当退栈时,栈顶指针高于保存最高栈顶指针的值时,则将该栈倒入辅助栈中,辅助栈始终保存最长路径长度上的结点,直至后序遍历完毕,则辅助栈中内容即为所求。
  [算法描述]
  void LongestPath(BiTree bt)//求二叉树中的第一条最长路径长度
  {BiTree p=bt,l[],s[];
  //l, s是栈,元素是二叉树结点指针,l中保留当前最长路径中的结点
  int i,top=0,tag[],longest=0;
  while(p || top>0)
  {while(p) {s[++top]=p;tag[top]=0; p=p->Lc;} //沿左分枝向下
  if(tag[top]==1) //当前结点的右分枝已遍历
  {if(!s[top]->Lc && !s[top]->Rc) //只有到叶子结点时,才查看路径长度
  if(top>longest)
  {for(i=1;i<=top;i++) l[i]=s[i]; longest=top; top--;}
  //保留当前最长路径到l栈,记住最高栈顶指针,退栈
  }
  else if(top>0) {tag[top]=1; p=s[top].Rc;} //沿右子分枝向下
  }//while(p!=null||top>0)
  }//结束LongestPath

第9题:

B-树是一种平衡的多路查找树。以下关于B-树的叙述中,正确的是( )

A.根结点保存树中所有关键字且有序排列
B.从根结点到每个叶结点的路径长度相同
C.所有结点中的子树指针个数都相同
D.所有结点中的关键字个数都相同

答案:B
解析:

第10题:

二叉树的前序、中序和后序遍历法最适合采用__(1)__来实现。查找树中,由根结点到所有其他结点的路径长度的总和称为__(2)__,而使上述路径长度总和达到最小的树称为__(3)__。它一定是__(4)__。在关于树的几个叙述中,只有__(5)__是正确的。空白(1)处应选择()

  • A、递归程序
  • B、迭代程序
  • C、队列操作
  • D、栈操作

正确答案:A

更多相关问题