收藏 分享(赏)

树结构习题及答案.doc

上传人:cjc2202537 文档编号:5887334 上传时间:2019-03-20 格式:DOC 页数:10 大小:375KB
下载 相关 举报
树结构习题及答案.doc_第1页
第1页 / 共10页
树结构习题及答案.doc_第2页
第2页 / 共10页
树结构习题及答案.doc_第3页
第3页 / 共10页
树结构习题及答案.doc_第4页
第4页 / 共10页
树结构习题及答案.doc_第5页
第5页 / 共10页
点击查看更多>>
资源描述

1、第 5 章 树【例 5-1】写出如图 5-1 所示的树的叶子结点、非终端结点、每个结点的度及树深度。解:(1)叶子结点有:B、D、F、G、H 、I 、J。(2)非终端结点有:A、C、E。(3)每个结点的度分别是:A 的度为 4,C 的度为 2,E 的度为 3,其余结点的度为0。(4)树的深度为 3。【例 5-2】一棵度为 2 的树与一棵二叉树有什么区别?解:度为 2 的树有两个分支,但分支没有左右之分;一棵二叉树也有两个分支,但有左右之分,左右子树的次序不能交换。【例 5-3】树与二叉树有什么区别?解:区别有两点:(1)二叉树的一个结点至多有两个子树,树则不然;(2)二叉树的一个结点的子树有左

2、右之分,而树的子树没有次序。【例 5-4】分别画出具有 3 个结点的树和三个结点的二叉树的所有不同形态。解:如图 5-2(a)所示,具有 3 个结点的树有两种不同形态。如图 5-2(B)所示,具有 3 个结点的二叉树有以下五种不同形态。【例 5-5】如图 5-3 所示的二叉树,试分别写出它的顺序表示和链接表示(二叉链表) 。解:图 5-2(a)图 5-2(b)AB C D EF G H I J图 5-1(1)顺序表示。1 2 3 4 5 6 7 8 9 10 11a b c d e f g(2)该二叉树的二叉链表表示如图 5-4 所示。【例 5-6】试找出满足下列条件的所有二叉树:(1)先序序

3、列和中序序列相同;(2)中序序列和后序序列相同;(3)先序序列和后序序列相同。解:(1)先序序列和中序序列相同的二叉树为:空树或者任一结点均无左孩子的非空二叉树;(2)中序序列和后序序列相同的二叉树为:空树或者任一结点均无右孩子的非空二叉树;(3)先序序列和后序序列相同的二叉树为:空树或仅有一个结点的二叉树。【例 5-7】如图 5-5 所示的二叉树,要求:(1)写出按先序、中序、后序遍历得到的结点序列。(2)画出该二叉树的后序线索二叉树。解:(1) 先序遍历序列:ABDEFC中序遍历序列:DEFBAC后序遍历序列:FEDBCA(2)其后序线索二叉树如图 5-6 所示。bacdef图 5-5NU

4、LLcabdef图 5-6ab cd ef g图 5-4 【例 5-8】将图 5-7 所示的树转换为二叉树。解:第一步,加线。第二步,抹线。第三步,旋转。过程如图 5-8 所示。A图 5-7B C D EF G H IK L MJA图 5-8(a) 第一步 加线B C D EF G H IK L MJA图 5-8(b) 第二步 抹线B C D EF G H IK L MJAB图 5-8(c) 第三步 旋转CF DK G EL HM IJ【例 5-9】将如图 5-9 所示的二叉树转换为树。解: 第一步,加线。第二步,抹线。第三步,调整。过程如图 5-10 所示。【例 5-10】将如图 5-11

5、所示的森林转换成二叉树。解: 步骤略,结果如图 5-12 所示。ABC DE F HI J图 5-9CDEFGABHILJK图 5-12图 5-11C DEF GABHI LJ KAB D HC FEJIBAC DE F HI J第一步 第二步 第三步BAC DE F HI J图 5-10【例 5-11】假定用于通信的电文由 8 个字符 A、B 、C、D、E、F、G、H 组成,各字母在电文中出现的概率为 5、25、4、7、9、12、30、8,试为这 8 个字母设计哈夫曼编码。解: 根据题意,设这 8 个字母对应的权值分别为(5,25,4,7,9,12,30,8) ,并且 n=8。(1)设计哈夫

6、曼树的步骤如图 5-13 所示。(2)设计哈夫曼编码利用第八步得到的哈夫曼树,规定左分支用 0 表示,右分支用 1 表示,字母A、B 、 C、D、 E、F 、G、H 的哈夫曼编码如下表示:A:0011 B:01 C:0010 D:1010第一步: 255 4 7 9 12 30 8第二步: 25 7 9 12 305498第三步: 2579 12 30549815第四步: 257 912 3081554918第五步: 257912308155491827第六步:253095491871281527 43第七步:2530954918712815274357第八步:2595491843307128

7、152757100图 5-13E:000 F:100 G:11 H:1011习题 5一、单项选择题1. 在一棵度为 3 的树中,度为 3 的结点数为 2 个,度为 2 的结点数为 1 个,度为 1 的结点数为 2 个,则度为 0 的结点数为( 1. C)个。A. 4 B. 5 C. 6 D. 72. 假设在一棵二叉树中,双分支结点数为 15,单分支结点数为 30 个,则叶子结点数为(2. B )个。A. 15 B. 16 C. 17 D. 473. 假定一棵三叉树的结点数为 50,则它的最小高度为(3. C ) 。A. 3 B. 4 C. 5 D. 64. 在一棵二叉树上第 4 层的结点数最多

8、为( 4. D) 。A. 2 B. 4 C. 6 D. 85. 用顺序存储的方法将完全二叉树中的所有结点逐层存放在数组中 R1n,结点 Ri若有左孩子,其左孩子的编号为结点(5. B) 。A. R2i+1 B. R2i C. Ri/2 D. R2i-16. 由权值分别为 3,8,6,2,5 的叶子结点生成一棵哈夫曼树,它的带权路径长度为(6. D ) 。A. 24 B. 48 C. 72 D. 537. 线索二叉树是一种( 7. C)结构。A. 逻辑 B. 逻辑和存储 C. 物理 D. 线性8. 线索二叉树中,结点 p 没有左子树的充要条件是( 8. B) 。A. p-lc=NULL B. p

9、-ltag=1 C. p-ltag=1 且 p-lc=NULL D. 以上都不对9. 设 n , m 为一棵二叉树上的两个结点,在中序遍历序列中 n 在 m 前的条件是(9. B) 。A. n 在 m 右方 B. n 在 m 左方 C. n 是 m 的祖先 D. n 是 m 的子孙10. 如果 F 是由有序树 T 转换而来的二叉树,那么 T 中结点的前序就是 F 中结点的(10. B ) 。A. 中序 B. 前序 C. 后序 D. 层次序11. 欲实现任意二叉树的后序遍历的非递归算法而不必使用栈,最佳方案是二叉树采用( 11. A)存储结构。A. 三叉链表 B. 广义表 C. 二叉链表 D.

10、顺序12. 下面叙述正确的是( 12. D) 。A. 二叉树是特殊的树B. 二叉树等价于度为 2 的树C. 完全二叉树必为满二叉树D. 二叉树的左右子树有次序之分13. 任何一棵二叉树的叶子结点在先序、中序和后序遍历序列中的相对次序(13. A ) 。A. 不发生改变 B. 发生改变C. 不能确定 D. 以上都不对14. 已知一棵完全二叉树的结点总数为 9 个,则最后一层的结点数为(14. B ) 。A. 1 B. 2 C. 3 D. 415. 根据先序序列 ABDC 和中序序列 DBAC 确定对应的二叉树,该二叉树( 15. A ) 。A. 是完全二叉树 B. 不是完全二叉树C. 是满二叉树

11、 D. 不是满二叉树二、判断题1. 二叉树中每个结点的度不能超过 2,所以二叉树是一种特殊的树。 (1. )2. 二叉树的前序遍历中,任意结点均处在其子女结点之前。 ( 2. )3. 线索二叉树是一种逻辑结构。 ( 3.)4. 哈夫曼树的总结点个数(多于 1 时)不能为偶数。 (4.)5. 由二叉树的先序序列和后序序列可以唯一确定一颗二叉树。 (5.)6. 树的后序遍历与其对应的二叉树的后序遍历序列相同。 (6.)7. 根据任意一种遍历序列即可唯一确定对应的二叉树。 (7.)8. 满二叉树也是完全二叉树。 ( 8.)9. 哈夫曼树一定是完全二叉树。 (9.)10. 树的子树是无序的。 (10.

12、 )三、填空题1. 假定一棵树的广义表表示为 A(B(E) ,C(F(H,I,J) ,G) ,D ) ,则该树的度为_,树的深度为_,终端结点的个数为_,单分支结点的个数为_,双分支结点的个数为_,三分支结点的个数为_,C 结点的双亲结点为_,其孩子结点为_和_结点。1. 3,4,6,1,1,2,A,F,G2. 设 F 是一个森林,B 是由 F 转换得到的二叉树,F 中有 n 个非终端结点,则 B 中右指针域为空的结点有_个。2. n+13. 对于一个有 n 个结点的二叉树,当它为一棵_二叉树时具有最小高度,即为_,当它为一棵单支树具有_高度,即为_。3. 完全, 2log(1)n,最大,n4

13、. 由带权为 3,9,6,2,5 的 5 个叶子结点构成一棵哈夫曼树,则带权路径长度为_。4. 555. 在一棵二叉排序树上按_遍历得到的结点序列是一个有序序列。5. 中序6. 对于一棵具有 n 个结点的二叉树,当进行链接存储时,其二叉链表中的指针域的总数为_个,其中_个用于链接孩子结点,_个空闲着。6. 2n,n-1,n+17. 在一棵二叉树中,度为 0 的结点个数为 n0,度为 2 的结点个数为 n2,则 n0=_。7. n2+18. 一棵深度为 k 的满二叉树的结点总数为_,一棵深度为 k 的完全二叉树的结点总数的最小值为_,最大值为_。8. 2 k-1,2 k-1,2 k-19. 由三

14、个结点构成的二叉树,共有_种不同的形态。9. 510. 设高度为 h 的二叉树中只有度为 0 和度为 2 的结点,则此类二叉树中所包含的结点数至少为_。10. 2 h-111. 一棵含有 n 个结点的 k 叉树,_形态达到最大深度,_形态达到最小深度。11. 单支树,完全二叉树12. 对于一棵具有 n 个结点的二叉树,若一个结点的编号为 i(1in),则它的左孩子结点的编号为_,右孩子结点的编号为_,双亲结点的编号为_。12. 2i,2i+1,i/2(或 i/2)13. 对于一棵具有 n 个结点的二叉树,采用二叉链表存储时,链表中指针域的总数为_个,其中_个用于链接孩子结点,_个空闲着。13.

15、 2n,n-1,n+114. 哈夫曼树是指_的二叉树。14. 带权路径长度最小15. 空树是指_,最小的树是指_。15. 结点数为 0,只有一个根结点的树16. 二叉树的链式存储结构有_和_两种。16. 二叉链表,三叉链表17. 三叉链表比二叉链表多一个指向_的指针域。17. 双亲结点18. 线索是指_。18. 指向结点前驱和后继信息的指针19. 线索链表中的 rtag 域值为_时,表示该结点无右孩子,此时_域为指向该结点后继线索的指针。19. 1,RChild20. 本节中我们学习的树的存储结构有_、_和_。20. 孩子表示法,双亲表示法,长子兄弟表示法四、应用题1. 已知一棵树边的集合为,

16、 , , , , ,请画出这棵树,并回答下列问题:(1)哪个是根结点?(2)哪些是叶子结点?(3)哪个是结点 g 的双亲?(4)哪些是结点 g 的祖先?(5)哪些是结点 g 的孩子?(6)哪些是结点 e 的孩子?(7)哪些是结点 e 的兄弟?哪些是结点 f 的兄弟?(8)结点 b 和 n 的层次号分别是什么?(9)树的深度是多少?(10)以结点 c 为根的子树深度是多少?1. 解答:根据给定的边确定的树如图 5-15 所示。其中根结点为 a;叶子结点有:d、m、n、j、k、f、l;c 是结点 g 的双亲;a、c 是结点 g 的祖先;j、k 是结点 g 的孩子;m、n 是结点 e 的子孙;ab

17、cd e g f him nj k i图 5-15e 是结点 d 的兄弟;g、h 是结点 f 的兄弟;结点 b 和 n 的层次号分别是 2 和 5;树的深度为 5。4. 已知用一维数组存放的一棵完全二叉树:ABCDEFGHIJKL,写出该二叉树的先序、中序和后序遍历序列。4. 解答: 先序序列:ABDHIEJKCFLG中序序列:HDIBJEKALFCG后序序列:HIDJKEBLFGCA6. 找出所有满足下列条件的二叉树:(1)它们在先序遍历和中序遍历时,得到的遍历序列相同;(2)它们在后序遍历和中序遍历时,得到的遍历序列相同;(3)它们在先序遍历和后序遍历时,得到的遍历序列相同;6. 解答:(

18、1)先序序列和中序序列相同的二叉树为:空树或者任一结点均无左孩子的非空二叉树;(2)中序序列和后序序列相同的二叉树为:空树或者任一结点均无右孩子的非空二叉树;(3)先序序列和后序序列相同的二叉树为:空树或仅有一个结点的二叉树。7. 假设一棵二叉树的先序序列为 EBADCFHGIKJ,中序序列为 ABCDEFGHIJK,请写出该二叉树的后序遍历序列。7. 解答:后序序列:ACDBGJKIHFE8. 假设一棵二叉树的后序序列为 DCEGBFHKJIA,中序序列为 DCBGEAHFIJK,请写出该二叉树的后序遍历序列。8. 解答:先序序列:ABCDGEIHFJK9. 给出如图 5-14 所示的森林的先根、后根遍历结点序列,然后画出该森林对应的二叉树。9. 解答:先根遍历:ABCDEFGHIJKLMNO后根遍历:BDEFCAHJIGKNOML森林转换成二叉树如图 5-16 所示。10给定一组权值(5,9,11,2,7,16) ,试设计相应的哈夫曼树。10. 解答:构造而成的哈夫曼树如图 5-17 所示。ABD E FCGHJIKN OML图 5-14

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 中等教育 > 试题课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报