数据结构课后练习 - 第6章
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
分析:
1. 首先建立赫夫曼树;
2. 然后根据左、右分支建立编码。
• 赫夫曼编码: 1. 2:10000; 2. 3:10001; 3. 6:1001; 4. 7:1010; 5. 10:1011 6. 19:00; 7. 21:01; 8. 32:11。
100
0
1
40 01
60 01
19
21 28
② 写出该树后序遍历的结点访问顺序。
a
后序遍历:
b
c
gdbehfca
d
ef
g
h
5. 设树T的度为4,其中度为1,2,3,4的结点个数分别为4, 2,1,1。问T中有多少个叶子结点?
利用树的性质:各结点射出的分支总数+1=总结点数
① 树T中,各个结点射出的分支总数: 4×1 + 2×2 + 1×3 + 1×4 = 15
遍历森林; 6、哈夫曼树、哈夫曼编码。
一、判断对错题
1. 树结构中每个结点最多只有一个直接前驱。(√ ) 2. 由树转成二叉树,其根节点的右子树一定为空。(√ ) 3. 在前序遍历二叉树的序列中,任何结点的子树的所有结点
都是直接跟在该结点之后。(× ) 4. 在中序线索二叉树中,右线索若不为空,则一定指向其双
亲。(× ) 5. 已知二叉树的前序遍历和后序遍历不能唯一确定这棵二叉
树,这是因为不知道根结点是哪一个。(× )
二、单项选择题
1. 树最适合用来表示__D_____。
A. 有序数据元素
B. 无序数据元素
C. 元素之间无联系的数据 D. 元素之间有分支层次的关系 2. 一棵n个结点的二叉树,其空指针域的个数为_B______。
b
c
• g的双亲:c;
• g的祖先:a,c;
e
d g f h • e的子孙:i,j,k;
• f的兄弟:g,h;
i
• b的层次:2,j的层次:5;
• 树的深度:5;
jk
• 树的度:3。
4. 某二叉树的前序遍历的结点访问顺序是abdgcefh,而中序 遍历的结点访问顺序是dgbaechf,则:
① 画出这棵树的形态。
第6章 树和二叉树
6.1 树的定义和基本术语 6.2 二叉树 6.3 遍历二叉树和线索二叉树 6.4 树和森林 6.6 赫夫曼树及其应用
学习要点
1、树和森林的概念(树的定义,树的术语、性质及运 算);
2、二叉树的定义、性质及运算; 3、二叉树的存储结构(顺序、链式表示); 4、遍历二叉树; 5、树的存储结构;树、森林与二叉树的转换;遍历树;
5. 在一棵二叉树中,度为2的结点有5个,度为1的结点有 6个,则叶子结点数有__6_______个。
四、简答题
1. 一棵度为2的树与一棵二叉树有何区别? • 解:有序树和无序树的区别。
四、简答题
2. 给定一个权集W={4,5,7,8,6,12,18},请画出相应的哈夫曼 树,并计算其带权路径长度WPL。
由。
利用树的性质:对任何一棵二叉树T,如果其终端结点数为n0, 度为2的结点数为n2,则:n0 = n2 + 1。
7. 分别画出下来自百度文库所示树的孩子链表(同构)和孩子兄弟链表。 A
B
C
D
E
FGH I
J
KL
• 孩子链表(同构)
A
1
B
4
C
6
D
9^
E^
F^
G
10
H^
I^
J^
K^
L^
2 5^ 7
11 ^
3^ 8^
32
01
11
17
0 1 01
5
6 7 10
01
2
3
10. 编码{00,01,10,11}、{0,1,00,11}、{0,10,110, 111}哪一组不是前缀编码?
2. 哈夫曼树的带权路径长度_最__短__________的二叉树。 3. 某二叉树的前序遍历序列为DABEC,中序遍历序列为
DEBAC,则后序遍历序列为_E_B__C_A__D_____________。
三、填空题
4. 有20个结点的完全二叉树,编码为10的结点的父结点 的编号是_5________。
三、填空题
1. 在树的定义中,结点的度是_结__点__拥__有__子__树__个__数_____ ; 叶子结点是_度__为__0_的__结__点__________ ;树的度是 _树__中__所__有__结__点__的__最__大__值_;树中结点的最大层次称为树 的_深__度__/_高__度____________。
②则树T中的总结点数为:15 + 1 = 16 ③非叶子结点总数为:4 + 2 + 1 + 1 = 8 ④叶子结点总数:16 – 8 = 8
6. 设一棵完全二叉树具有1000个结点。问: ① 该完全二叉树有多少个叶子结点?有多少个度为2的结点?
有多少个度为1的结点? ② 若完全二叉树有1001个结点,再回答上述问题,并说明理
60
35
25
WPL = 8×3 + (4 + 5)×4 + 18×2 + 12×2 + (6+7)×3 = 159
树型不唯一,但最小WPL值是唯
17
18 12 13 一的。
8
9
6
7
4
5
3. 设在树中,结点x是结点y的双亲,用来表示边。已知一棵树 边的集合为: { i, j , i, k , b,e , e, i , b,d , a,b ,
• 孩子兄弟链表
^A^
^B^
^E^
^C^
^F^ ^G^
^D^
^ K ^ ^ H ^^ J ^ ^L^ ^ I ^
8. 将下图所示的森林转换成二叉树。
A
G
J
B
DH
C
I
K
LM N
• 结果二叉树
A
B
G
CH
J
ED
IK
F
L
M
N
9. 设某密码电文由8个字母组成,每个字母在电文中的出现频 率分别是7,19,2,6,32,3,21,10,试为这8个字母设 计相应的赫夫曼编码。
c, g , c, f , c,h , a,c } ⑴ 哪个是根结点?⑵ 哪些是叶结点? ⑶ 哪个是g的双亲?⑷ 哪些是g的祖先? ⑸ 哪些是e的子孙?⑹ 哪些是f的兄弟? ⑺ 结点b和j的层次各是多少? ⑻ 树的深度是多少? ⑼ 树的度数是多少?
a
• 根结点:a;
• 叶子结点:d,f,g,h,j,k;
A. n B. n+1 C. n-1 D. 不确定 3. 根据树的定义,具有3个结点的树有__A_____种树形。
A. 2 B. 3 C. 4 D. 5
二、单项选择题
4. 节点前序为ABC的不同二叉树__C______形态。 A. 3 B. 4 C. 5 D. 6 5. 具有35个结点的完全二叉树的深度为__B_______。 A. 5 B. 6 C. 7 D. 8
1. 首先建立赫夫曼树;
2. 然后根据左、右分支建立编码。
• 赫夫曼编码: 1. 2:10000; 2. 3:10001; 3. 6:1001; 4. 7:1010; 5. 10:1011 6. 19:00; 7. 21:01; 8. 32:11。
100
0
1
40 01
60 01
19
21 28
② 写出该树后序遍历的结点访问顺序。
a
后序遍历:
b
c
gdbehfca
d
ef
g
h
5. 设树T的度为4,其中度为1,2,3,4的结点个数分别为4, 2,1,1。问T中有多少个叶子结点?
利用树的性质:各结点射出的分支总数+1=总结点数
① 树T中,各个结点射出的分支总数: 4×1 + 2×2 + 1×3 + 1×4 = 15
遍历森林; 6、哈夫曼树、哈夫曼编码。
一、判断对错题
1. 树结构中每个结点最多只有一个直接前驱。(√ ) 2. 由树转成二叉树,其根节点的右子树一定为空。(√ ) 3. 在前序遍历二叉树的序列中,任何结点的子树的所有结点
都是直接跟在该结点之后。(× ) 4. 在中序线索二叉树中,右线索若不为空,则一定指向其双
亲。(× ) 5. 已知二叉树的前序遍历和后序遍历不能唯一确定这棵二叉
树,这是因为不知道根结点是哪一个。(× )
二、单项选择题
1. 树最适合用来表示__D_____。
A. 有序数据元素
B. 无序数据元素
C. 元素之间无联系的数据 D. 元素之间有分支层次的关系 2. 一棵n个结点的二叉树,其空指针域的个数为_B______。
b
c
• g的双亲:c;
• g的祖先:a,c;
e
d g f h • e的子孙:i,j,k;
• f的兄弟:g,h;
i
• b的层次:2,j的层次:5;
• 树的深度:5;
jk
• 树的度:3。
4. 某二叉树的前序遍历的结点访问顺序是abdgcefh,而中序 遍历的结点访问顺序是dgbaechf,则:
① 画出这棵树的形态。
第6章 树和二叉树
6.1 树的定义和基本术语 6.2 二叉树 6.3 遍历二叉树和线索二叉树 6.4 树和森林 6.6 赫夫曼树及其应用
学习要点
1、树和森林的概念(树的定义,树的术语、性质及运 算);
2、二叉树的定义、性质及运算; 3、二叉树的存储结构(顺序、链式表示); 4、遍历二叉树; 5、树的存储结构;树、森林与二叉树的转换;遍历树;
5. 在一棵二叉树中,度为2的结点有5个,度为1的结点有 6个,则叶子结点数有__6_______个。
四、简答题
1. 一棵度为2的树与一棵二叉树有何区别? • 解:有序树和无序树的区别。
四、简答题
2. 给定一个权集W={4,5,7,8,6,12,18},请画出相应的哈夫曼 树,并计算其带权路径长度WPL。
由。
利用树的性质:对任何一棵二叉树T,如果其终端结点数为n0, 度为2的结点数为n2,则:n0 = n2 + 1。
7. 分别画出下来自百度文库所示树的孩子链表(同构)和孩子兄弟链表。 A
B
C
D
E
FGH I
J
KL
• 孩子链表(同构)
A
1
B
4
C
6
D
9^
E^
F^
G
10
H^
I^
J^
K^
L^
2 5^ 7
11 ^
3^ 8^
32
01
11
17
0 1 01
5
6 7 10
01
2
3
10. 编码{00,01,10,11}、{0,1,00,11}、{0,10,110, 111}哪一组不是前缀编码?
2. 哈夫曼树的带权路径长度_最__短__________的二叉树。 3. 某二叉树的前序遍历序列为DABEC,中序遍历序列为
DEBAC,则后序遍历序列为_E_B__C_A__D_____________。
三、填空题
4. 有20个结点的完全二叉树,编码为10的结点的父结点 的编号是_5________。
三、填空题
1. 在树的定义中,结点的度是_结__点__拥__有__子__树__个__数_____ ; 叶子结点是_度__为__0_的__结__点__________ ;树的度是 _树__中__所__有__结__点__的__最__大__值_;树中结点的最大层次称为树 的_深__度__/_高__度____________。
②则树T中的总结点数为:15 + 1 = 16 ③非叶子结点总数为:4 + 2 + 1 + 1 = 8 ④叶子结点总数:16 – 8 = 8
6. 设一棵完全二叉树具有1000个结点。问: ① 该完全二叉树有多少个叶子结点?有多少个度为2的结点?
有多少个度为1的结点? ② 若完全二叉树有1001个结点,再回答上述问题,并说明理
60
35
25
WPL = 8×3 + (4 + 5)×4 + 18×2 + 12×2 + (6+7)×3 = 159
树型不唯一,但最小WPL值是唯
17
18 12 13 一的。
8
9
6
7
4
5
3. 设在树中,结点x是结点y的双亲,用来表示边。已知一棵树 边的集合为: { i, j , i, k , b,e , e, i , b,d , a,b ,
• 孩子兄弟链表
^A^
^B^
^E^
^C^
^F^ ^G^
^D^
^ K ^ ^ H ^^ J ^ ^L^ ^ I ^
8. 将下图所示的森林转换成二叉树。
A
G
J
B
DH
C
I
K
LM N
• 结果二叉树
A
B
G
CH
J
ED
IK
F
L
M
N
9. 设某密码电文由8个字母组成,每个字母在电文中的出现频 率分别是7,19,2,6,32,3,21,10,试为这8个字母设 计相应的赫夫曼编码。
c, g , c, f , c,h , a,c } ⑴ 哪个是根结点?⑵ 哪些是叶结点? ⑶ 哪个是g的双亲?⑷ 哪些是g的祖先? ⑸ 哪些是e的子孙?⑹ 哪些是f的兄弟? ⑺ 结点b和j的层次各是多少? ⑻ 树的深度是多少? ⑼ 树的度数是多少?
a
• 根结点:a;
• 叶子结点:d,f,g,h,j,k;
A. n B. n+1 C. n-1 D. 不确定 3. 根据树的定义,具有3个结点的树有__A_____种树形。
A. 2 B. 3 C. 4 D. 5
二、单项选择题
4. 节点前序为ABC的不同二叉树__C______形态。 A. 3 B. 4 C. 5 D. 6 5. 具有35个结点的完全二叉树的深度为__B_______。 A. 5 B. 6 C. 7 D. 8