第5章_树与二叉树习题解析_第1页
第5章_树与二叉树习题解析_第2页
第5章_树与二叉树习题解析_第3页
第5章_树与二叉树习题解析_第4页
第5章_树与二叉树习题解析_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、精选文档习题五 树与二叉树1一、选择题1、一棵非空的二叉树的先序遍历序列与后序遍历序列正好相反,则该二叉树肯定满足 。A、全部的结点均无左孩子 B、全部的结点均无右孩子C、只有一个叶子结点 D、是任意一棵二叉树2、一棵完全二叉树上有1001个结点,其中叶子结点的个数是 。 A、250 B、500 C、254 D、505 E、以上答案都不对3、以下说法正确的是 。A、若一个树叶是某二叉树前序遍历序列中的最终一个结点,则它必是该子树后序遍历序列中的最终一个结点B、若一个树叶是某二叉树前序遍历序列中的最终一个结点,则它必是该子树中序遍历序列中的最终一个结点C、在二叉树中,具有两个子女的父结点,在中序

2、遍历序列中,它的后继结点最多只能有一个子女结点D、在二叉树中,具有一个子女的父结点,在中序遍历序列中,它没有后继子女结点4、以下说法错误的是 C 。A、哈夫曼树是带权路径长度最短得数,路径上权值较大的结点离根较近B、若一个二叉树的树叶是某子树中序遍历序列中的第一个结点,则它必是该子树后序遍历序列中的第一个结点C、已知二叉树的前序遍历和后序遍历并不能唯一地确定这棵树,由于不知道树的根结点是哪一个D、在前序遍历二叉树的序列中,任何结点其子树的全部结点都是直接跟在该结点之后的5、一棵有124个叶结点的完全二叉树,最多有 个结点。 A、247 B、248 C、249 D、250 E、2516、任何一棵

3、二叉树的叶结点在前(先)序、中序和后序遍历序列中的相对次序 。 A、不发生变化 B、发生变化 C、不能确定7、设a、b为一棵二叉树上的两个结点。在中序遍历时,a在b前面的条件是 。A、a在b的右方 B、a在b的左方 C、a是b的祖先D、a是b的子孙8、设深度为k的二叉树上只有度为0和度为2的结点,则这类二叉树上所含的结点总数为 。 A、k+1 B、2k C、2k-1 D、2k+19、设有13个值,用它们组成一棵哈夫曼树,则该哈夫曼树共有 个结点。 A、13 B、12 C、26 D、2510、下面几个符号串编码集合中,不是前缀编码的是 。A、0,10,110,1111 B、11,10,001,1

4、01,0001C、00,010,0110,1000 D、b,c,aa,ac,aba,abb,abc11、欲实现任意二叉树的后序遍历的非递归算法而不使用栈结构,最佳的方案是二叉树接受 存储结构。 A、三叉链表 B、广义表 C、二叉链表 D、挨次表12、以下说法错误的是 。A、存在这样的二叉树,对它接受任何次序遍历其结点访问序列均相同B、二叉树是树的特殊情形C、由树转换成二叉树,其根结点的右子树总是空的D、在二叉树只有一棵子树的状况下也要明确指出该子树是左子树还是右子树13、树的基本遍历策略可分为先根遍历和后根遍历,二叉树的基本遍历策略可分为先序、中序和后序三种遍历。我们把由树转化得到的二叉树称该

5、树对应的二叉树,则下面 是正确的。A、树的先根遍历序列与其对应的二叉树先序遍历序列相同B、树的后根遍历序列与其对应的二叉树后序遍历序列相同C、树的先根遍历序列与其对应的二叉树中序遍历序列相同D、以上都不对14、若以二叉树的任一结点动身到根的路径上所经过的结点序列按其关键字有序。则该二叉树是 。 A、二叉排序树 B、哈夫曼树 C、堆15、下列有关二叉树的说法正确的是 。 A、二叉树的度为2 B、一棵二叉树度可以小于2C、二叉树中至少有一个结点的度为2 D、二叉树中任一个结点的度都为216、某二叉树中序序列为ABCDEFG,后序序列为BDCAFGE,则前序序列是 。 A、EGFACDB B、EAC

6、BDGFC、EAGCFBD D、上面的都不对17、对二叉排序树进行 遍历,可以得到该二叉树全部结点构成的排序序列。 A、前序 B、中序 C、后序 D、按层次18、由二叉树的前序和后序遍历序列 唯一地确定这棵二叉树。 A、能 B、不能19、在一棵度为3的树中,度为3的结点数为2个,度为2的结点数为1个,度为1的结点数为2个,则度为0的结点数为 个。 A、4 B、5 C、6 D、720、在一棵深度为h的完全二叉树中,所含结点的个数不小于 。 A、2h B、2h+1 C、2h-1 D、2h-121、在一棵具有n个结点的二叉树第i层上,最多具有 个结点。 A、2i B、2i+1 C、2i-1 D、2n

7、22、在下列状况中,可称为二叉树的是 。 A、每个结点至多有两棵子树的树 B、哈夫曼树C、每个结点至多有两棵子树的有序树 D、每个结点只有一棵右子树E、以上答案都不对二、填空题1、8层完全二叉树至少有 128 个结点,拥有100个结点的完全二叉树的最大层数为 7 。2、树在计算机内的表示方式有 双亲表示法 、 孩子表示法 、 孩子兄弟表示法 。3、一棵有n个结点的满二叉树有 0 个度为1的结点,有 n/2 个分支(非终端)结点和 n/2+1 个叶子,该满二叉树的深度为 log2n+1 。4、若一个二叉树的叶子结点是某子树的中序遍历序列中的最终一个结点,则它必是孩子树的 前序遍历 序列中的最终一

8、个结点。5、一棵共有n个结点的树,其中全部分支结点的度均为k,则该树中的叶子结点个数为 (n(k-1)+1)/k 。6、深度为k(设根的层数为1)的完全二叉树至少有 2k-1 个结点,至多有 2k-1 个结点。7、设只包含根结点的二叉树高度为0,则高度为k的二叉树最大结点数为 2k+1-1 ,最小结点数为 k+1 。8、一棵完全二叉树有999个结点,它的深度为 10 。9、对于一棵具有n个结点的树,该树中全部结点的度数之和为 n-1 。10、有n个结点并且其高度为n的二叉树有 2n-1 个。11、一棵具有n个结点的二叉树,若它有n0个叶子结点,则该二叉树上度为1的结点n1= n-2n0+1 。

9、12、若一棵二叉树的叶子数为n0,则该二叉树中左、右子树皆非空的结点个数为 n0-1 。13、设n0为哈夫曼树的叶子结点数目,则该哈夫曼树共有 2n0-1 个结点。14、若以4、5、6、7、8作为叶子结点的权值构造哈夫曼树,则其带权路径长度是 69 。三、推断题1、完全二叉树的某结点若无左孩子,则它必是叶结点。 (对 )2、存在这样的二叉树,对它接受任何次序的遍历,结果相同。( 对 )3、二叉树就是结点度为2的树。( 错 )4、二叉树中不存在度大于2的结点,当某个结点只有一棵子树时无所谓左、右子树。( 错 )5、已知二叉树的前序遍历序列和后序遍历序列并不能唯一地确定这棵树,由于不知道树的根结点

10、是哪一个。(错 )6、在哈夫曼编码中,当两个字符消灭的频率相同时,其编码也相同,对于这种状况应作特殊处理。(错 )7、中序遍历一棵二叉排序树的结点就可得到排好序的结点序列。(对 )8、将一棵树转换成二叉树后,根结点没有左子树。(错 )9、用树的前序遍历和中序遍历可以导出树的后序遍历。(对 )10、哈夫曼树是带权路径长度最短的树,路径上权值较大的结点离根较近。( 对 )11、不使用递归也能实现二叉树前序、中序和后序遍历。( 对 )习题五 树与二叉树21. 填空题 树是n(n0)结点的有限集合,在一棵非空树中,有( )个根结点,其余的结点分成m(m0)个()的集合,每个集合都是根结点的子树。【解答

11、】有且仅有一个,互不相交 树中某结点的子树的个数称为该结点的( ),子树的根结点称为该结点的( ),该结点称为其子树根结点的( )。【解答】度,孩子,双亲 一棵二叉树的第i(i1)层最多有( )个结点;一棵有n(n0)个结点的满二叉树共有()个叶子结点和( )个非终端结点。【解答】2i-1,(n+1)/2,(n-1)/2【分析】设满二叉树中叶子结点的个数为n0,度为2的结点个数为n2,由于满二叉树中不存在度为1的结点,所以n=n0+n2;由二叉树的性质n0=n2+1,得n0=(n+1)/2,n2=(n-1)/2。 设高度为h的二叉树上只有度为0和度为2的结点,该二叉树的结点数可能达到的最大值是

12、( ),最小值是( )。【解答】2h -1,2h-1【分析】最小结点个数的状况是第1层有1个结点,其他层上都只有2个结点。 深度为k的二叉树中,所含叶子的个数最多为( )。【解答】2k-1【分析】在满二叉树中叶子结点的个数达到最多。 具有100个结点的完全二叉树的叶子结点数为( )。【解答】50【分析】100个结点的完全二叉树中最终一个结点的编号为100,其双亲即最终一个分支结点的编号为50,也就是说,从编号51开头均为叶子。 已知一棵度为3的树有2个度为1的结点,3个度为2的结点,4个度为3的结点。则该树中有( )个叶子结点。【解答】12【分析】依据二叉树性质3的证明过程,有n0=n2+2n

13、3+1(n0、n2、n3分别为叶子结点、度为2的结点和度为3的结点的个数)。 某二叉树的前序遍历序列是ABCDEFG,中序遍历序列是CBDAFGE,则其后序遍历序列是( )。【解答】CDBGFEA【分析】依据前序遍历序列和后序遍历序列将该二叉树构造出来。 在具有n个结点的二叉链表中,共有( )个指针域,其中( )个指针域用于指向其左右孩子,剩下的( )个指针域则是空的。【解答】2n,n-1,n+1 在有n个叶子的哈夫曼树中,叶子结点总数为( ),分支结点总数为( )。【解答】n,n-1【分析】n-1个分支结点是经过n-1次合并后得到的。已知二叉树的中序和后序序列分别为CBEDAFIGH和CED

14、BIFHGA,试构造该二叉树。对给定的一组权值W(5,2,9,11,8,3,7),试构造相应的哈夫曼树,并计算它的带权路径长度。【解答】构造的哈夫曼树如图5-13所示。树的带权路径长度为:WPL=24+34+53+73+83+92+112=120二叉树先根序、后根序、中根序遍历的速算法(解题技巧)经过争辩我找出了一种不用画图,由先(后)根序遍历和中根序遍历快速确定遍历结果的方法。谨以此文献给智商与我同级而又不得不争辩算法的伴侣。抽象思维太差,用例子来说明吧。下面这个是后根遍历的算法。例1:已知某二叉树的先根序遍历为ABCDEFG,中根序遍历为CDBAFEG,则它的后根序遍历为_解法如下:1、确

15、定树根。由先序遍历知道,树根为A。2、分别左、右子树。由中根序遍历知,A左面的为CDB左子树结点,右面的FEG为右子树结点。把先根序遍历也分成左、右子树结点,BCD、EFG。前根序遍历BCDEFG中根序遍历CDBFEG3、分别把先根序遍历左、右子树结点抄过来,写的时候要从右往左写,本例中,依次写下B、C、D、,E、F、G,结果是DCB GFE。当然不是简洁到这种程序。上面只是个原理。抄的过程应当是这样的:盯着前根序的,瞅着中根序的。假如要抄的先根序中的结点在中根序中是最左/右边,则直接抄过来;假如不是,则把这个结点左边的结点先放记在右根序的最左边,然后连续抄。本题的结果是DCB,FGE,A,

16、即DCBFGEA。上面这个例子太短,看不出“猫腻”来。再举个结点多一点儿的。例2:已知某二叉树的先根序遍历为ABCDEFGHIJK,中根序遍历为CEDFBAHKJIG,则它的后根序遍历为_按上面的方法:前根序遍历BCDEF GHIJK中根序遍历CEDFB HKJIG依次抄得前根序的结点:F、E(E在中根序遍历中不靠边,所以先放在后根遍序历中左子树结点最左边)、D、C同理,把右子树也抄过来。因此,写下结点的过程依次是:假如还是不太懂,你可以试着做一下下面的例子:已知二叉树前序遍历 ABCDEFGHIJK,中序遍历 CEDFBAHGKJI,求后序遍历。解:(1)以根结点A分左、右子树结点, BCDEF GHIJK CEDFB HGKJI(2)写左子树,盯着前序,从右到左开头写DCB(在中序中,B靠右边,C靠左边

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论