数据结构与算法第5章课后答案

上传人:枫** 文档编号:552366736 上传时间:2023-12-28 格式:DOCX 页数:13 大小:330.63KB
返回 下载 相关 举报
数据结构与算法第5章课后答案_第1页
第1页 / 共13页
数据结构与算法第5章课后答案_第2页
第2页 / 共13页
数据结构与算法第5章课后答案_第3页
第3页 / 共13页
数据结构与算法第5章课后答案_第4页
第4页 / 共13页
数据结构与算法第5章课后答案_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《数据结构与算法第5章课后答案》由会员分享,可在线阅读,更多相关《数据结构与算法第5章课后答案(13页珍藏版)》请在金锄头文库上搜索。

1、page: 1The Home of jetmambo - 第 5 章 树和二叉树第 5 章 树和二叉树(1970-01-01) -第 5 章 树和二叉树 课后习题讲解1. 填空题树是n (n≥0)结点的有限集合,在一棵非空树中,有()个根结点,其余的结点分成m(m 0)个()的集合,每个集合都是根结点的子树。【解答】有且仅有一个,互不相交 树中某结点的子树的个数称为该结点的( ),子树的根结点称为该结点的( ),该结点称 为其子树根结点的( )。【解答】度,孩子,双亲一棵二叉树的第i(i≥l )层最多有()个结点;一棵有n ( n>0 )个结点的满二叉树共 有( )个叶子结

2、点和( )个非终端结点。【解答】2i-l, (n+l)/2, (n-l)/2【分析】设满二叉树中叶子结点的个数为n0,度为2的结点个数为n2,由于满二叉树中不存在度 为1的结点,所以n=n0+n2;由二叉树的性质n0=n2+1,得n0=(n+l)/2, n2=(n-l)/2。设高度为h的二叉树上只有度为0和度为2的结点,该二叉树的结点数可能达到的最大值是(), 最小值是()。【解答】 2h -1, 2h-1【分析】最小结点个数的情况是第1层有1个结点,其他层上都只有2个结点。 深度为k的二叉树中,所含叶子的个数最多为()。【解答】 2k-1【分析】在满二叉树中叶子结点的个数达到最多。 具有10

3、0个结点的完全二叉树的叶子结点数为( )。【解答】 50【分析】100个结点的完全二叉树中最后一个结点的编号为100,其双亲即最后一个分支结点的编 号为 50,也就是说,从编号51开始均为叶子。 已知一棵度为3的树有2个度为1的结点, 3个度为2的结点, 4个度为3的结点。则该树中有( ) 个叶子结点。【解答】 12【分析】根据二叉树性质3的证明过程,有n0=n2+2n3+1 (n0、n2、n3分别为叶子结点、度为2的 结点和度为3的结 点的个数)。某二叉树的前序遍历序列是ABCDEFG,中序遍历序列是CBDAFGE,则其后序遍历序列是()。 【解答】 CDBGFEA【分析】根据前序遍历序列和

4、后序遍历序列将该二叉树构造出来。page: 2The Home of jetmambo - 第 5 章 树和二叉树在具有n个结点的二叉链表中,共有()个指针域,其中()个指针域用于指向其左右孩子, 剩下的( )个指针域则是空的。【解答】2n, n-1, n+1在有n个叶子的哈夫曼树中,叶子结点总数为(),分支结点总数为()。【解答】 n, n-1【分析】n-1个分支结点是经过n-1次合并后得到的。2. 选择题如果结点A有3个兄弟,B是A的双亲,则结点B的度是()。A 1 B 2 C 3 D 4【解答】 D设二叉树有n个结点,则其深度为()。A n-1 B n C +1 D 不能确定【解答】 D

5、【分析】此题并没有指明是完全二叉树,则其深度最多是n,最少是+1。 二叉树的前序序列和后序序列正好相反,则该二叉树一定是( )的二叉树。A 空或只有一个结点 B 高度等于其结点数C 任一结点无左孩子 D 任一结点无右孩子【解答】 B【分析】此题注意是序列正好相反,则左斜树和右斜树均满足条件。线索二叉树中某结点R没有左孩子的充要条件是()。A R.lchild=NULL B R.ltag=0 C R.ltag=1 D R.rchild=NULL【解答】 C【分析】线索二叉树中某结点是否有左孩子,不能通过左指针域是否为空来判断,而要判断左标 志是否为1。 深度为k的完全二叉树至少有()个结点,至多

6、有()个结点,具有n个结点的完全二叉树 按层序从1开始编号,则编号最小的叶子的序号是( )。A 2k-2+1 B 2k-1 C 2k -1 D 2k–1 -1E 2k+1 F 2k+1 -1 G 2k -1+1 H 2k【解答】 B, C, A【分析】深度为k的完全二叉树最少结点数的情况应是第k层上只有1个结点,最多的情况是满二 叉树,编号最小的叶子应该是在结点数最少的情况下,叶子结点的编号。一个高度为h的满二叉树共有n个结点,其中有m个叶子结点,则有()成立。A n=h+m B h+m=2n C m=h-1 D n=2m-1【解答】 D【分析】满二叉树中没有度为1的结点,所以有m

7、个叶子结点,则度为2的结点个数为m-1。page: 3The Home of jetmambo - 第 5 章 树和二叉树 任何一棵二叉树的叶子结点在前序、中序、后序遍历序列中的相对次序( )。A 肯定不发生改变 B 肯定发生改变 C 不能确定 D 有时发生变化【解答】A【分析】三种遍历次序均是先左子树后右子树。如果T是由有序树T转换而来的二叉树,那么T中结点的前序序列就是T中结点的()序列, T中结点的后序序列就是 T 中结点的( )序列。A 前序 B 中序 C 后序 D 层序【解答】 A, B设森林中有4棵树,树中结点的个数依次为nl、n2、n3、n4,则把森林转换成二叉树后,其根 结点的

8、右子树上有( )个结点,根结点的左子树上有( )个结点。A nl-l B nl C nl+n2+n3 D n2+n3+n4【解答】 D, A【分析】由森林转换的二叉树中,根结点即为第一棵树的根结点,根结点的左子树是由第一棵树 中除了根结点以 外其余结点组成的,根结点的右子树是由森林中除第一棵树外其他树转换来的。 讨论树、森林和二叉树的关系,目的是为了( )。A 借助二叉树上的运算方法去实现对树的一些运算B 将树、森林按二叉树的存储方式进行存储并利用二叉树的算法解决树的有关问题C 将树、森林转换成二叉树D 体现一种技巧,没有什么实际意义【解答】 B3. 判断题 在线索二叉树中,任一结点均有指向其

9、前趋和后继的线索。【解答】错。某结点是否有前驱或后继的线索,取决于该结点的标志域是否为1。 在二叉树的前序遍历序列中,任意一个结点均处在其子女的前面。【解答】对。由前序遍历的操作定义可知。 二叉树是度为 2 的树。【解答】错。二叉树和树是两种不同的树结构,例如,左斜树是一棵二叉树,但它的度为1。 由树转换成二叉树,其根结点的右子树总是空的。【解答】对。因为根结点无兄弟结点。 用一维数组存储二叉树时,总是以前序遍历存储结点。【解答】错。二叉树的顺序存储结构是按层序存储的,一般适合存储完全二叉树。4证明:对任一满二叉树,其分枝数B = 2(n0-1)。(其中,n0为终端结点数) 【解答】因为在满二

10、叉树中没有度为1的结点,所以有:n=n0+n2page: 4The Home of jetmambo - 第 5 章 树和二叉树设B为树中分枝数,则n=B+1所以B=n0 +n2-1再由二叉树性质:n0=n2+1代入上式有:B=n0+n0-1-1=2(n0-1) 5证明:已知一棵二叉树的前序序列和中序序列,则可唯一确定该二叉树。 【解答】证明采用归纳法。设二叉树的前序遍历序列为ala2a3… an,中序遍历序列为blb2b3… bn。当n=1时,前序遍历序列为al,中序遍历序列为bl,二叉树只有一个根结点,所以,a1= bl,可 以唯一确定该二叉 树;假设当n<

11、;=k时,前序遍历序列a1a2a3… ak和中序遍历序列b1b2b3… bk可唯一 确定该二叉树,下面证明当n=k+1时,前序遍历序列a1a2a3… akak+1和中序遍历序列b1b2b3… bk bk+1可唯一确定一棵二叉树。在前序遍历序列中第一个访问的一定是根结点,即二叉树的根结点是a1,在中序遍历序列中查找 值为a1的结点,假设为bi,则a1=bi且b1b2… bi-1是对根结点a1的左子树进行中序遍历的结果,前序遍 历序列a2a3… ai是对根结点a1的左子树进行前序遍历的结果,由归纳假设,前序遍历序列

12、a2a3… ai和中序遍历序列b1b2… bi-1唯一确定了根结点的左子树,同样可证前序遍历序列 ai+1ai+2… ak+1 和中序遍历序列bi+1bi+2… bk+1唯一确定了根结点的右子树。6.已知一棵度为m的树中有:n1个度为1的结点,n2个度为2的结点,&hellip ;& hellip; , nm个度 为m的结点,问该 树中共有多少个叶子结点?【解答】设该树的总结点数为n,则n=n0+n1+n2+……+nm又:n=分枝数+1=0×n0+1& times;n1+2 ×n2+&h

13、ellip ;& hellip;+m ×nm+1 由上述两式可得:n0= n2+2n3+……+(m-1)nm+17.已知二叉树的中序和后序序列分别为CBEDAFIGH和CEDBIFHGA,试构造该二叉树。 【解答】二叉树的构造过程如图5-12 所示。閤5-12-.构造二夏树的过程8对给定的一组权值W=(5, 2, 9, 11, 8, 3, 7),试构造相应的哈夫曼树,并计算它的带权 路径长度。【解答】构造的哈夫曼树如图5-13所示。451926101511557835-B构造的哈夫曼树及带权路径底度树的带权路径长度为:WPL=2×4+3&ti

14、mes;4+5×3+7×3+8×3+9×2+11×2page: 5The Home of jetmambo - 第 5 章 树和二叉树=120  9已知某字符串S中共有8种字符,各种字符分别出现2次、1次、4次、5次、7次、3次、4次和9 次,对该字符串用0, 1进行前缀编码,问该字符串的编码至少有多少位。【解答】以各字符出现的次数作为叶子结点的权值构造的哈夫曼编码树如图5-14所示。其带权路 径长度=2×5+1×5+3×4+5×3+9×2+4×

15、;3+4×3+7×2=98,所以,该字符串的编码长度至少为9 8位。35201511g75斗斗3314咱夫臭编码树 10 算法设计 设计算法求二叉树的结点个数【解答】本算法不是要打印每个结点的值,而是求出结点的个数。所以可将遍历算法中的“ 访问”操作改为& l d qu o ;计数操作& r d qu o ; ,将结点的数目累加到一个全局变量中,每个结点累加一次即完 成了结点个数的求解。具体算法如下:-亲二云树鰭点禾数算法氨unt I、.二void Count (BiNode *toot) 畑为全局量并已初始化为0if (root) f:Comtfro ot-Mchild);n+;Sount (root-rchild);   设计算法按前序次序打印

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 建筑资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号