当前位置:文档之家› 数据结构第五章参考答案

数据结构第五章参考答案

习题5
1.填空题
(1)已知二叉树中叶子数为50,仅有一个孩子的结点数为30,则总结点数为(___________)。

答案:129
(2)3个结点可构成(___________)棵不同形态的二叉树。

答案:5
(3)设树的度为5,其中度为1~5的结点数分别为6、5、4、3、2个,则该树共有(___________)个叶子。

答案:31
(4)在结点个数为n(n>1)的各棵普通树中,高度最小的树的高度是(___________),它有(___________)个叶子结点,(___________)个分支结点。

高度最大的树的高度是(___________),它有(___________)个叶子结点,(___________)个分支结点。

答案:2 n-1 1 n 1 n-1
(5)深度为k的二叉树,至多有(___________)个结点。

答案:2k-1
(6)(7)有n个结点并且其高度为n的二叉树的数目是(___________)。

答案:2n-1
(8)设只包含根结点的二叉树的高度为0,则高度为k的二叉树的最大结点数为(___________),最小结点数为(___________)。

答案:2k+1-1 k+1
(9)将一棵有100个结点的完全二叉树按层编号,则编号为49的结点为X,其双亲PARENT (X)的编号为()。

答案:24
(10)已知一棵完全二叉树中共有768个结点,则该树中共有(___________)个叶子结点。

答案:384
(11)(12)已知一棵完全二叉树的第8层有8个结点,则其叶子结点数是(___________)。

答案:68
(13)深度为8(根的层次号为1)的满二叉树有(___________)个叶子结点。

答案:128
(14)一棵二叉树的前序遍历是FCABED,中序遍历是ACBFED,则后序遍历是(___________)。

答案:ABCDEF
(15)某二叉树结点的中序遍历序列为ABCDEFG,后序遍历序列为BDCAFGE,则该二叉树结点的前序遍历序列为(___________),该二叉树对应的树林包括(___________)棵树。

答案:EACBDGF 2
2.选择题
(1)在一棵度为3的树中,度为3的结点的个数为2,度为2的结点个数为1,则度为0的结点个数为()。

A. 4
B. 5
C. 6
D. 7
(2)下列陈述中正确的是()。

A. 二叉树是度为2的有序数
B. 二叉树中结点只有一个孩子时无左右之分
C. 二叉树中必有度为2的结点
D. 二叉树中最多只有两棵子树,并且有左右之分
(3)在K叉树中,如果结点M有3个兄弟,而且N是M的双亲,则N的度是()A. 3 B. 4 C. 5 D. 1
(4)设高度为h的二叉树上只有度为0和度为2的结点,则此类二叉树中所包含的结点数至少为()。

A. 2h
B. 2h-1
C. 2h+1
D. h+1
(5)高度为5的完全二叉树至少有()个结点。

A. 16
B. 32
C. 31
D. 5
(6)具有65个结点的完全二叉树的高度为()。

(根的层次号为0)
A. 8
B. 7
C.6
D. 5
(7)对一个满二叉树,m个树叶,n个结点,深度为h,则(无)。

A. n=h+m
B. h+m=2n
C. m=h-1
D. n=2h-1
(8)任一棵二叉树,其叶子结点数为n0,度为2的结点数为n2,则存在关系()。

A. n2 +1=n0
B. n0 +1=n2
C. 2n2 +1=n0
D. n2 =2n0 +1
(9)某二叉树的前序遍历结点访问顺序是abdgcefh,中序遍历的结点访问顺序是dgbaechf,则其后序遍历的结点访问顺序是()。

A. bdgcefha
B. gdbecfha
C. bdgaechf
D. gdbehfca
(10)设m、n为一棵二叉树上的两个结点,在中序遍历时,n在m前的条件是()。

A. n在m右方
B. n是m祖先
C. n在m左方
D.n是m子孙
(11)一棵二叉树的广义表表示为a(b(c,d),e(f(g))),则得到的层序遍历序列为()。

A. abcdefg
B. cbdaegf
C. cdbgfea
D. abecdfg
(12)若二叉树采用二叉链表作为存储结构,要交换其所有分支结点左右子树的位置,利用()遍历方法最合适。

A. 前序
B. 中序
C. 后序
D. 层序
说明:显然,如果按前序或后序遍历,当访问某结点时,交换其左右孩子,则可完成要求。

进行层序遍历时,当结点出队时,交换左右孩子,也可以完成题目要求。

因此该题有3个答案,谈不上哪个最合适。

建议该题目将“最合适”改为“不合适”,这样答案应该是唯一的。

(13)对二叉树进行()遍历,可以得到该二叉树所有结点构成的排序序列。

A. 前序
B. 中序
C. 后序
D. 层序
(14)设F是一个森林,B是由F转换得到的二叉树,F中有n个非叶结点,则B中右指针域为空的结点有()个。

A. n-1
B. n
C. n+1
D. n+2
(15)利用3,6,8,12,5,7这6个值作为叶子结点的权,生成一棵哈夫曼树,该树的深度为()。

A.3
B. 4
C.5
D. 6
(16)若度为m的哈夫曼树中,其叶结点个数为n,则非叶结点的个数为()。

A. n-1 B. [n/m]-1
C. [(n-1)/(m-1)]
D. [n/(m-1)]-1
说明:在这里度为m的哈夫曼树是指仅含有度为0和m的结点的m叉树。

因此有:
(1) N=n+n m
(2) N = 1 + mn m
3.试分别画出具有3个结点的树和二叉树的所有不同形态。

答案:树:
二叉树:
4.试找出分别满足下面条件的所有二叉树:
(1)前序序列和中序序列相同;
答案: 右斜树
(2)中序序列和后序序列相同;
答案:左斜树
(3)前序序列和后序序列相同。

答案:只有根结点的树
5.一棵高度为h的满k叉树有如下性质:第h层上的结点都是叶结点,其余各层上每个结点都有k棵非空子树,如果按层次自顶向下,同一层自左向右,顺序从0开始对全部结点进行编号,试问:
(1)各层的结点个数是多少?
答案:n层的结点个数为k n-1
(2)编号为i的结点的父结点(若存在)的编号是多少?
答案:|(i-1)/k| (|·|表示取下整)
(3)编号为i的结点的第m个孩子结点(若存在)的编号是多少?
答案:k*i+m
(4)编号为i的结点有右兄弟的条件是什么?其右兄弟结点的编号是多少?
答案:i%k!=0 i+1
(5)叶子结点数n0和非叶子结点数n k之间满足的关系。

答案:n k*(k-1)=n0-1
6.若一棵二叉树的前序序列为abdgcefh,中序序列为dgbaechf,请画出该二叉树,并写出其后序序列。

答案:gdbehfca
7.请将图5-42所示树T转换为二叉树T′。

答案:
8. 对于图5-43所示的二叉树,该树的三种遍历分别是什么?
答案:
前序 -+a*b-cd/ef
中序 a+b*c-d-e/f
后序 abcd-*+ef/-
9. 对于图5-44所示的二叉树,请画出和其对应的森林。

答案:
10. 假设用于通信的电文仅由9个字符组成,并且出现概率为0.07(A)、0.19(B)、0.02(C)、0.06(D)、0.32(E)、0.03(F)、0.21(G)、0.10(H):
(1)画出哈夫曼树;
答案:
(2)每个字符的哈夫曼编码; 答案: A 0010 B 10 C 00000 D 0001 E 01 F 00001 G 11 H 0011
(3)计算其带权路径长度;
答案:WPL=0.07*4+0.19*2+0.02*5+0.06*4+0.32*2+0.03*5+0.21*2+0.10*4=2.61
(4)如果电文是“ABCDEFGH ”压缩前每个字符使用8bit 的ASCII 编码,则采用上面的哈夫曼编码,其压缩比是多少? 答案:0.43758
84
2524524=⨯+++++++=
η。

相关主题