第6章 树和二叉树答案
一、选择题
1、已知一算术表达式的中缀形式为 A+B*C-D/E,后缀形式为ABC*+DE/-,其前缀形式为( D )
A .-A+B*C/DE B. -A+B*CD/E C.-+*ABC/DE D. -+A*BC/DE
2、算术表达式a+b*(c+d/e)转为后缀表达式后为( B )
A .ab+cde/* B.abcde/+*+ C.abcde/*++ D.abcde*/++
3. 设树T 的度为4,其中度为1,2,3和4的结点个数分别为4,2,1,1 则T 中的叶子数为( D )
A .5 B.6 C.7 D.8
4. 在下述结论中,正确的是( D )
①只有一个结点的二叉树的度为0; ②二叉树的度为2; ③二叉树的左右子树可任意交换;
④深度为K 的完全二叉树的结点个数小于或等于深度相同的满二叉树。
A .①②③ B.②③④ C.②④ D.①④
5. 设森林F 对应的二叉树为B ,它有m 个结点,B 的根为p,p 的右子树结点个数为n, 森林F 中第一棵树的结点个数是( A )
A .m-n B.m-n-1 C.n+1 D.条件不足,无法确定
6. 若一棵二叉树具有10个度为2的结点,5个度为1的结点,则度为0的结点个数是( B )
A .9 B.11 C.15 D.不确定
7. 在一棵三元树中度为3的结点数为2个,度为2的结点数为1个,度为1的结点数为2个,则度为0的结点数为( C )个
A .4 B.5 C.6 D.7
8. 设森林F 中有三棵树,第一,第二,第三棵树的结点个数分别为M1,M2和M3。与森林F 对应的二叉树根结点的右子树上的结点个数是( D )。【北方交通大学 2001 一、16 (2分)】
A .M1 B.M1+M2 C.M3 D.M2+M3
9. 具有10个叶结点的二叉树中有( B)个度为2的结点,
A .8 B.9 C.10 D.ll
10. 一棵完全二叉树上有1001个结点,其中叶子结点的个数是(E )
A . 250 B. 500 C.254 D.505 E.以上答案都不对
11. 设给定权值总数有n 个,其哈夫曼树的结点总数为( D)
A .不确定 B.2n C.2n+1 D.2n-1
12. 有关二叉树下列说法正确的是( B )
A .二叉树的度为2 B.一棵二叉树的度可以小于2
C .二叉树中至少有一个结点的度为2 D.二叉树中任何一个结点的度都为2
13. 二叉树的第I 层上最多含有结点数为( C )
A .2I B. 2I-1-1 C. 2I -1 D.2I -1
14. 一个具有1025个结点的二叉树的高h 为( C )
A .11 B.10 C.11至1025之间 D.10至1024之间
15. 一棵二叉树高度为h, 所有结点的度或为0,或为2,则这棵二叉树最少有( B )结点
A .2h B.2h -1 C.2h+1 D.h+1
18. 对于有n 个结点的二叉树, 其高度为( D )
A .nlog2n B.log2n C.⎣log2n ⎦|+1 D.不确定
19. 一棵具有 n个结点的完全二叉树的树高度(深度)是( A )
A .⎣logn ⎦+1 B.logn+1 C.⎣logn ⎦ D.logn-1
20. 深度为h 的满m 叉树的第k 层有( A)个结点。(1=
k-1 k h-1h A .m B.m -1 C.m D.m -1
21. 在一棵高度为k 的满二叉树中,结点总数为( C )
A .2k-1 B .2k C .2k -1 D.⎣log2k ⎦+1
22. 高度为 K的二叉树最大的结点数为( C )。
A .2k B.2k-1 C.2k -1 D.2k -1-1
23. 一棵树高为K 的完全二叉树至少有( C )个结点
k k -1k -1k A .2 –1 B. 2 –1 C. 2 D. 2
25. 利用二叉链表存储树,则根结点的右指针是( C )。
A .指向最左孩子 B.指向最右孩子 C.空 D.非空
26. 对二叉树的结点从1开始进行连续编号,要求每个结点的编号大于其左、右孩子的编号,同一结点的左右孩子中,其左孩子的编号小于其右孩子的编号,可采用( C )次序的遍历实现编号。
A .先序 B. 中序 C. 后序 D. 从根开始按层次遍历
27. 树的后根遍历序列等同于该树对应的二叉树的( B ).
A. 先序序列 B. 中序序列 C. 后序序列
28. 在下列存储形式中,哪一个不是树的存储形式?( D )
双亲表示法 B.孩子链表表示法 C.孩子兄弟表示法 D.顺序存储表示法
29. 一棵二叉树的前序遍历序列为ABCDEFG ,它的中序遍历序列可能是( B )
A .CABDEFG B.ABCDEFG C.DACEFBG D.ADCFEG
30. 已知一棵二叉树的前序遍历结果为ABCDEF, 中序遍历结果为CBAEDF, 则后序遍历的结果为( A )。
A .CBEFDA B. FEDCBA C. CBEDFA D.不定
31.已知某二叉树的后序遍历序列是dabec, 中序遍历序列是debac , 它的前序遍历是( D )。
A .acbed B.decab C.deabc D.cedba
32. 某二叉树中序序列为A,B,C,D,E,F,G ,后序序列为B,D,C,A,F,G,E 则前序序列是: B
A .E,G,F,A,C,D,B B.E,A,C,B,D,G,F C.E,A,G,C,F,B,D D.上面的都不对
33. 上题的二叉树对应的森林包括多少棵树( B )
A .l B.2 C.3 D.概念上是错误的
34. 二叉树的先序遍历和中序遍历如下: 先序遍历:EFHIGJK ;中序遍历: HFIEJKG 。该二叉树根的右子树的根是: C
A 、 E B、 F C、 G D、 H
35. 将一棵树t 转换为孩子—兄弟链表表示的二叉树h ,则t 的后根序遍历是h 的
A .前序遍历 B.中序遍历 C.后序遍历( B )
39. 一棵非空的二叉树的先序遍历序列与后序遍历序列正好相反,则该二叉树一定满足( C ) A 所有的结点均无左孩子B .所有的结点均无右孩子C .只有一个叶子结点D .是任意一棵二叉树
40. 在二叉树结点的先序序列,中序序列和后序序列中,所有叶子结点的先后顺序( B )
A .都不相同 B .完全相同 C.先序和中序相同,而与后序不同
D .中序和后序相同,而与先序不同
41. 某二叉树的前序序列和后序序列正好相反,则该二叉树一定是( C )的二叉树。
A .空或只有一个结点 B.任一结点无左子树 C.高度等于其结点数 D.任一结点无右子树
44. 一棵左子树为空的二叉树在先序线索化后,其中空的链域的个数是:( D )
A .不确定 B. 0 C. 1 D. 2
45. 一棵左右子树均不空的二叉树在先序线索化后,其中空的链域的个数是:( B )。
A. 0 B. 1 C. 2 D. 不确定
46. 若X 是二叉中序线索树中一个有左孩子的结点,且X 不为根,则x 的前驱为( C )
A. X 的双亲 B.X的右子树中最左的结点 C.X的左子树中最右结点 D.X的左子树中最右叶结点
47. 引入二叉线索树的目的是( A )
A .加快查找结点的前驱或后继的速度 B.为了能在二叉树中方便的进行插入与删除
C .为了能方便的找到双亲 D.使二叉树的遍历结果唯一
48. 线索二叉树是一种( C )结构。
A . 逻辑 B. 逻辑和存储 C. 物理 D.线性
二、填空题
1. 二叉树由_(1)根结点__,__(2)左子树_,_(3)右子树__三个基本单元组成。
2. 树在计算机内的表示方式有_(1)_双亲表示法_,_(2)孩子链表表示法__,_(3)孩子兄弟表示法__。
3. 具有256个结点的完全二叉树的深度为__9____。
4. 已知一棵度为3的树有2个度为1的结点,3个度为2的结点,4个度为3的结点,则该树有____12__
个叶子结点。
5. 深度为k 的完全二叉树至少有___(1) 2k-1 ____个结点,至多有___(2)_ 2k -1___个结点。
6. 假设根结点的层数为1,具有n个结点的二叉树的最大高度是__n____。
7. 在一棵二叉树中,度为零的结点的个数为N0, 度为2的结点的个数为N2, 则有N0 =_ N2+1
8. 设只含根结点的二叉树的高度为0,则高度为k 的二叉树的最大结点数为_ 2k +1 -1_____,最小结点数为__k+1____。
k-2 9. 高度为K 的完全二叉树至少有____2__个叶子结点。
10. 高度为8的完全二叉树至少有___64___个叶子结点。
11. 已知二叉树有50个叶子结点,则该二叉树的总结点数至少是____99__。
12. 一个有2001个结点的完全二叉树的高度为_11_____。
13. 设F 是由T1,T2,T3三棵树组成的森林, 与F 对应的二叉树为B, 已知T1,T2,T3的结点数分别为n1,n2
和n3则二叉树B 的左子树中有__(1)n1-1_个结点,右子树中有_(2)_n2+n3_个结点。
14. 如某二叉树有20个叶子结点,有30个结点仅有一个孩子,则该二叉树的总结点数为_____69_。
15. 如果结点A 有 3个兄弟,而且B 是A 的双亲,则B 的度是__4____。
16. 具有N 个结点的二叉树,采用二叉链表存储,共有__N+1____个空链域。
17. 先根次序周游树林正好等同于按_(1) _先序__周游对应的二叉树,后根次序周游树林正好等同于按
__(2)中序_周游对应的二叉树。
18. 利用树的孩子兄弟表示法存储,可以将一棵树转换为___二叉树___。
19. 线索二元树的左线索指向其__前驱____,右线索指向其___后继___。
20. 设n 0为哈夫曼树的叶子结点数目,则该哈夫曼树共有__2n0-1____个结点。
三、应用题
1.将下列由三棵树组成的森林转换为二叉树。(只要求给出转换结果)
【南京航空航天大学 1998 一、 (10分) 】
2.设一棵二叉树的先序、中序遍历序列分别为
先序遍历序列: A B D F C E G H 中序遍历序列: B F D A G E H C
(1)画出这棵二叉树。
(2)画出这棵二叉树的后序线索树。
(3)将这棵二叉树转换成对应的树(或森林)。【南京航空航天大学 1997 二、 (10分) 】
(3)
3.已知一棵二叉树的对称序和后序序列如下:
对称序:GLDHBEIACJFK 后序: LGHDIEBJKFCA
(1) (2分) 给出这棵二叉树:
(2) (2分) 转换为对应的森林:
.
4.假设一棵二叉树的层次序列为ABCDEFGHIJ ,中序序列DBGEHJACIF 。请画出这棵二叉树。
【武汉大学 2000 三、1】【东南大学 2000 一、1 (6分)】
(1) (2)
5(1)设通信中出现5中字符A 、B 、C 、D 、E 对应的频率为0.2,0.1,0.5,0.15,0.25构造哈夫曼树,并给出对应字符的编码。【青岛大学 2002 四、2 (10分)】
(2) 设A 、B 、C 、D 、E 、F 六个字母出现的概率分别为7,19,2,6,32,3。试写出为这六个字母设计的HUFFMAN 编码, 并画出对应的HUFFMAN 树. 【山东工业大学 1995 四(10分) 】
(1) 编码为:15:111, 3:10101, 14:110, 2:10100, 6:1011, 9:100, 16:00, 17:01
(2) 常用哈夫曼树为通讯用的字符编码,本题中集合的数值解释为字符发生的频率(次数)。由哈夫曼树构造出哈夫曼编码。译码时,进行编码的“匹配”,即从左往右扫描对方发来的“编码串”,用字符编码去匹配,得到原来的元素(本题中的数)。
第6章 树和二叉树答案
一、选择题
1、已知一算术表达式的中缀形式为 A+B*C-D/E,后缀形式为ABC*+DE/-,其前缀形式为( D )
A .-A+B*C/DE B. -A+B*CD/E C.-+*ABC/DE D. -+A*BC/DE
2、算术表达式a+b*(c+d/e)转为后缀表达式后为( B )
A .ab+cde/* B.abcde/+*+ C.abcde/*++ D.abcde*/++
3. 设树T 的度为4,其中度为1,2,3和4的结点个数分别为4,2,1,1 则T 中的叶子数为( D )
A .5 B.6 C.7 D.8
4. 在下述结论中,正确的是( D )
①只有一个结点的二叉树的度为0; ②二叉树的度为2; ③二叉树的左右子树可任意交换;
④深度为K 的完全二叉树的结点个数小于或等于深度相同的满二叉树。
A .①②③ B.②③④ C.②④ D.①④
5. 设森林F 对应的二叉树为B ,它有m 个结点,B 的根为p,p 的右子树结点个数为n, 森林F 中第一棵树的结点个数是( A )
A .m-n B.m-n-1 C.n+1 D.条件不足,无法确定
6. 若一棵二叉树具有10个度为2的结点,5个度为1的结点,则度为0的结点个数是( B )
A .9 B.11 C.15 D.不确定
7. 在一棵三元树中度为3的结点数为2个,度为2的结点数为1个,度为1的结点数为2个,则度为0的结点数为( C )个
A .4 B.5 C.6 D.7
8. 设森林F 中有三棵树,第一,第二,第三棵树的结点个数分别为M1,M2和M3。与森林F 对应的二叉树根结点的右子树上的结点个数是( D )。【北方交通大学 2001 一、16 (2分)】
A .M1 B.M1+M2 C.M3 D.M2+M3
9. 具有10个叶结点的二叉树中有( B)个度为2的结点,
A .8 B.9 C.10 D.ll
10. 一棵完全二叉树上有1001个结点,其中叶子结点的个数是(E )
A . 250 B. 500 C.254 D.505 E.以上答案都不对
11. 设给定权值总数有n 个,其哈夫曼树的结点总数为( D)
A .不确定 B.2n C.2n+1 D.2n-1
12. 有关二叉树下列说法正确的是( B )
A .二叉树的度为2 B.一棵二叉树的度可以小于2
C .二叉树中至少有一个结点的度为2 D.二叉树中任何一个结点的度都为2
13. 二叉树的第I 层上最多含有结点数为( C )
A .2I B. 2I-1-1 C. 2I -1 D.2I -1
14. 一个具有1025个结点的二叉树的高h 为( C )
A .11 B.10 C.11至1025之间 D.10至1024之间
15. 一棵二叉树高度为h, 所有结点的度或为0,或为2,则这棵二叉树最少有( B )结点
A .2h B.2h -1 C.2h+1 D.h+1
18. 对于有n 个结点的二叉树, 其高度为( D )
A .nlog2n B.log2n C.⎣log2n ⎦|+1 D.不确定
19. 一棵具有 n个结点的完全二叉树的树高度(深度)是( A )
A .⎣logn ⎦+1 B.logn+1 C.⎣logn ⎦ D.logn-1
20. 深度为h 的满m 叉树的第k 层有( A)个结点。(1=
k-1 k h-1h A .m B.m -1 C.m D.m -1
21. 在一棵高度为k 的满二叉树中,结点总数为( C )
A .2k-1 B .2k C .2k -1 D.⎣log2k ⎦+1
22. 高度为 K的二叉树最大的结点数为( C )。
A .2k B.2k-1 C.2k -1 D.2k -1-1
23. 一棵树高为K 的完全二叉树至少有( C )个结点
k k -1k -1k A .2 –1 B. 2 –1 C. 2 D. 2
25. 利用二叉链表存储树,则根结点的右指针是( C )。
A .指向最左孩子 B.指向最右孩子 C.空 D.非空
26. 对二叉树的结点从1开始进行连续编号,要求每个结点的编号大于其左、右孩子的编号,同一结点的左右孩子中,其左孩子的编号小于其右孩子的编号,可采用( C )次序的遍历实现编号。
A .先序 B. 中序 C. 后序 D. 从根开始按层次遍历
27. 树的后根遍历序列等同于该树对应的二叉树的( B ).
A. 先序序列 B. 中序序列 C. 后序序列
28. 在下列存储形式中,哪一个不是树的存储形式?( D )
双亲表示法 B.孩子链表表示法 C.孩子兄弟表示法 D.顺序存储表示法
29. 一棵二叉树的前序遍历序列为ABCDEFG ,它的中序遍历序列可能是( B )
A .CABDEFG B.ABCDEFG C.DACEFBG D.ADCFEG
30. 已知一棵二叉树的前序遍历结果为ABCDEF, 中序遍历结果为CBAEDF, 则后序遍历的结果为( A )。
A .CBEFDA B. FEDCBA C. CBEDFA D.不定
31.已知某二叉树的后序遍历序列是dabec, 中序遍历序列是debac , 它的前序遍历是( D )。
A .acbed B.decab C.deabc D.cedba
32. 某二叉树中序序列为A,B,C,D,E,F,G ,后序序列为B,D,C,A,F,G,E 则前序序列是: B
A .E,G,F,A,C,D,B B.E,A,C,B,D,G,F C.E,A,G,C,F,B,D D.上面的都不对
33. 上题的二叉树对应的森林包括多少棵树( B )
A .l B.2 C.3 D.概念上是错误的
34. 二叉树的先序遍历和中序遍历如下: 先序遍历:EFHIGJK ;中序遍历: HFIEJKG 。该二叉树根的右子树的根是: C
A 、 E B、 F C、 G D、 H
35. 将一棵树t 转换为孩子—兄弟链表表示的二叉树h ,则t 的后根序遍历是h 的
A .前序遍历 B.中序遍历 C.后序遍历( B )
39. 一棵非空的二叉树的先序遍历序列与后序遍历序列正好相反,则该二叉树一定满足( C ) A 所有的结点均无左孩子B .所有的结点均无右孩子C .只有一个叶子结点D .是任意一棵二叉树
40. 在二叉树结点的先序序列,中序序列和后序序列中,所有叶子结点的先后顺序( B )
A .都不相同 B .完全相同 C.先序和中序相同,而与后序不同
D .中序和后序相同,而与先序不同
41. 某二叉树的前序序列和后序序列正好相反,则该二叉树一定是( C )的二叉树。
A .空或只有一个结点 B.任一结点无左子树 C.高度等于其结点数 D.任一结点无右子树
44. 一棵左子树为空的二叉树在先序线索化后,其中空的链域的个数是:( D )
A .不确定 B. 0 C. 1 D. 2
45. 一棵左右子树均不空的二叉树在先序线索化后,其中空的链域的个数是:( B )。
A. 0 B. 1 C. 2 D. 不确定
46. 若X 是二叉中序线索树中一个有左孩子的结点,且X 不为根,则x 的前驱为( C )
A. X 的双亲 B.X的右子树中最左的结点 C.X的左子树中最右结点 D.X的左子树中最右叶结点
47. 引入二叉线索树的目的是( A )
A .加快查找结点的前驱或后继的速度 B.为了能在二叉树中方便的进行插入与删除
C .为了能方便的找到双亲 D.使二叉树的遍历结果唯一
48. 线索二叉树是一种( C )结构。
A . 逻辑 B. 逻辑和存储 C. 物理 D.线性
二、填空题
1. 二叉树由_(1)根结点__,__(2)左子树_,_(3)右子树__三个基本单元组成。
2. 树在计算机内的表示方式有_(1)_双亲表示法_,_(2)孩子链表表示法__,_(3)孩子兄弟表示法__。
3. 具有256个结点的完全二叉树的深度为__9____。
4. 已知一棵度为3的树有2个度为1的结点,3个度为2的结点,4个度为3的结点,则该树有____12__
个叶子结点。
5. 深度为k 的完全二叉树至少有___(1) 2k-1 ____个结点,至多有___(2)_ 2k -1___个结点。
6. 假设根结点的层数为1,具有n个结点的二叉树的最大高度是__n____。
7. 在一棵二叉树中,度为零的结点的个数为N0, 度为2的结点的个数为N2, 则有N0 =_ N2+1
8. 设只含根结点的二叉树的高度为0,则高度为k 的二叉树的最大结点数为_ 2k +1 -1_____,最小结点数为__k+1____。
k-2 9. 高度为K 的完全二叉树至少有____2__个叶子结点。
10. 高度为8的完全二叉树至少有___64___个叶子结点。
11. 已知二叉树有50个叶子结点,则该二叉树的总结点数至少是____99__。
12. 一个有2001个结点的完全二叉树的高度为_11_____。
13. 设F 是由T1,T2,T3三棵树组成的森林, 与F 对应的二叉树为B, 已知T1,T2,T3的结点数分别为n1,n2
和n3则二叉树B 的左子树中有__(1)n1-1_个结点,右子树中有_(2)_n2+n3_个结点。
14. 如某二叉树有20个叶子结点,有30个结点仅有一个孩子,则该二叉树的总结点数为_____69_。
15. 如果结点A 有 3个兄弟,而且B 是A 的双亲,则B 的度是__4____。
16. 具有N 个结点的二叉树,采用二叉链表存储,共有__N+1____个空链域。
17. 先根次序周游树林正好等同于按_(1) _先序__周游对应的二叉树,后根次序周游树林正好等同于按
__(2)中序_周游对应的二叉树。
18. 利用树的孩子兄弟表示法存储,可以将一棵树转换为___二叉树___。
19. 线索二元树的左线索指向其__前驱____,右线索指向其___后继___。
20. 设n 0为哈夫曼树的叶子结点数目,则该哈夫曼树共有__2n0-1____个结点。
三、应用题
1.将下列由三棵树组成的森林转换为二叉树。(只要求给出转换结果)
【南京航空航天大学 1998 一、 (10分) 】
2.设一棵二叉树的先序、中序遍历序列分别为
先序遍历序列: A B D F C E G H 中序遍历序列: B F D A G E H C
(1)画出这棵二叉树。
(2)画出这棵二叉树的后序线索树。
(3)将这棵二叉树转换成对应的树(或森林)。【南京航空航天大学 1997 二、 (10分) 】
(3)
3.已知一棵二叉树的对称序和后序序列如下:
对称序:GLDHBEIACJFK 后序: LGHDIEBJKFCA
(1) (2分) 给出这棵二叉树:
(2) (2分) 转换为对应的森林:
.
4.假设一棵二叉树的层次序列为ABCDEFGHIJ ,中序序列DBGEHJACIF 。请画出这棵二叉树。
【武汉大学 2000 三、1】【东南大学 2000 一、1 (6分)】
(1) (2)
5(1)设通信中出现5中字符A 、B 、C 、D 、E 对应的频率为0.2,0.1,0.5,0.15,0.25构造哈夫曼树,并给出对应字符的编码。【青岛大学 2002 四、2 (10分)】
(2) 设A 、B 、C 、D 、E 、F 六个字母出现的概率分别为7,19,2,6,32,3。试写出为这六个字母设计的HUFFMAN 编码, 并画出对应的HUFFMAN 树. 【山东工业大学 1995 四(10分) 】
(1) 编码为:15:111, 3:10101, 14:110, 2:10100, 6:1011, 9:100, 16:00, 17:01
(2) 常用哈夫曼树为通讯用的字符编码,本题中集合的数值解释为字符发生的频率(次数)。由哈夫曼树构造出哈夫曼编码。译码时,进行编码的“匹配”,即从左往右扫描对方发来的“编码串”,用字符编码去匹配,得到原来的元素(本题中的数)。