树型结构习题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第6章 树
【例6-1】写出如图6-1所示的树的叶子结点、非终端结点、每个结点的度及树深度。 解:
(1)叶子结点有:B 、D 、F 、G 、H 、I 、J 。 (2)非终端结点有:A 、C 、E 。 (3)每个结点的度分别是:A 的度为4,C
的度为2,E 的度为3,其余结点的度为0。 (4)树的深度为3。
【例6-2】一棵度为2的树与一棵二叉树有什么区别?
解:度为2的树有两个分支,但分支没有左右之分;一棵二叉树也有两个分支,但有左右之分,左右子树的次序不能交换。 【例6-3】树与二叉树有什么区别?
解:区别有两点:
(1)二叉树的一个结点至多有两个子树,树则不然;
(2)二叉树的一个结点的子树有左右之分,而树的子树没有次序。
【例6-4】分别画出具有3个结点的树和三个结点的二叉树的所有不同形态。
解:如图6-2(a)所示,具有3个结点的树有两种不同形态。
如图6-2(B )所示,具有3个结点的二叉树有以下五种不同形态。
【例6-8】如图6-3所示的二叉树,试分别写出它的顺序表示和链接表示(二叉链表)。
图6-2(a)
图6-2(b)
A B C D E
F G H I J 图6-1
a b c
d
e
f
g
图6-3
解:
(2)该二叉树的二叉链表表示如图6-4所示。
【例6-9】试找出满足下列条件的所有二叉树:
(1)先序序列和中序序列相同; (2)中序序列和后序序列相同; (3)先序序列和后序序列相同。 解:
(1)先序序列和中序序列相同的二叉树为:空树或者任一结点均无左孩子的非空二叉树; (2)中序序列和后序序列相同的二叉树为:空树或者任一结点均无右孩子的非空二叉树; (3)先序序列和后序序列相同的二叉树为:空树或仅有一个结点的二叉树。
【例6-10】如图6-5所示的二叉树,要求:
(1)写出按先序、中序、后序遍历得到的结点序列。
(2)画出该二叉树的后序线索二叉树。 解: (1) 先序遍历序列:ABDEFC 中序遍历序列:DEFBAC 后序遍历序列:FEDBCA (2)其后序线索二叉树如图6-6所示。
b
a
c d
e f
图6-5
图6-6
图6-4
【例6-11】将图6-7所示的树转换为二叉树。
解:第一步,加线。第二步,抹线。第三步,旋转。过程如图6-8所示。
【例6-12】将如图6-9所示的二叉树转换为树。
A 图6-7
B
C
D
E
F
G
H
I K L M
J A B C
D
E
F
H I
J 图6-9
A
图6-8(a) 第一步 加线
B C D E F G H I K L M
J A 图6-8(b) 第二步 抹线 B C D
E F G H I K L M
J
A B
图6-8(c) 第三步 旋转
C F D
K
G E
L
H M
I
J
解: 第一步,加线。第二步,抹线。第三步,调整。过程如图6-10所示。
【例6-13】将如图6-11所示的森林转换成二叉树。
解: 步骤略,结果如图6-12所示。
【例6-14】假定用于通信的电文由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-13所示。
C D
E F G A
B
H I
L
J K
图6-12 第一步: 25 5 4 7 9 12 30 8 第二步:
25 7 9 12 30 5
4
9
8 图6-11 C D E
F G A B H
I
L
J
K
A
B D H
C F E J I B A C
D
E
F H I J 第一步 第二步 第三步
B
A C D E F H I J 图6-10
第三步:
25 7
9 12 30
5 4
9
8 15
第四步: 25 7
9 12 30
8
15 5
4
9 18
第七步:
25 30
9
5
4 9
18
7
12
8 15
27 43
57 第八步:
25 9
5
4
9 18 43 30
7 12 8 15
27
57
100 图6-13
第五步:
25 7
9
12
30
8
15 5
4
9 18
27
第六步:
25 30
9
5
4 9
18
43
7
12
8
15 27