离散数学第九章树
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
定理2:设T=<V,E>是n阶非平凡的树,则T中至少有2片树叶.
V1 V1
V2
V3
V4
n
V2 V5 V6
2m = ∑ d (vi ) ≥ k + 2(n − k )
i =1
二.生成树、树枝、弦和余树 ⇒ k ≥ 2 生成树、树枝、
m = n −1
定义:设G=<V,E>是无向连通图,T是G的生成子图,并且T是树, 则称T是G的生成树;G在T中的边称为T的树枝. G不在T中的边称为T的弦,T的所有弦的集合的导出子 图称为T的余树.
例9.2(1)求带权为1,3,4,5,6的最优2元树. (2)求带权为2,3,5,7,8,9的最优2元树. 解: (1)
1 3 4 5 6 4 4 3
8 11 4 1 3 11 4 4 1 8 6 4 1 3 4 3 4 5 6
5
6
=>
1
8 5 6
=>
19
=>
5
W(T)=1*3+3*3+4*2+5*2+6*2=42
V1
V1
V2
V3
V4 也可去掉箭头
V2
V3
V4
V5
V6
V5
V6
V6
V7
图 9.5
V6
V7
一棵根树(一棵家族树)的有关术语: 儿子(孩子)结点,父亲(双亲)结点,祖先结点,子孙(后代)结点.
二.根树的分类和术语
1.根子树:设T为一棵根树,a为T中一个顶点,且a不是树根, 称a及其后代(子孙)导出的子图T’为T的以a为根 的子树,简称根子树. 2.有序树:如果将根树每一层上的顶点都规定次序,此根树 称为有序树. 3.其它:设T为一棵根树, 若T的每个分支点至多有r个儿子,则称T为r元树. 若T的每个分支点恰好有r个儿子,则称T为r元正则树. 若r元树T是有序的,则称T是r元有序树. 若r元正则树T是有序的,则称T是r元有序正则树. 若T是r元正则树,且所有树叶的层数相同,都等于树高, 则称T为r元完全正则树.
b
i
后序行遍:decfbghia
c
f
g
h
d
e
例9.4(1)用2元有序树表示算式 ((a+(b*c))*d+e)/(f*g) (2)用3种行遍法访问(1)并写出结果. 中序行遍法: ((a+(b*c))*d+e)/(f*g) 前序行遍法:波兰符号法 /+*+a*bcde*fg 后序行遍法:逆波兰符号法 abc*+d*e+fg*/
1
3
(a) 哈夫曼树
(b) 哈夫曼编码
四.2元有序正则树的遍历 .2元有序正则树的遍历
(1)中序行遍法:其访问次序为:左子树,树根,右子树; (2)前序行遍法:其访问次序为:树根,左子树, 右子树; (3)后序行遍法:其访问次序为:左子树,右子树,树根;
a
中序行遍:dcebfagih 前序行遍:abcdefigh
例如:
5
b a
a
e
5 1 5 4 2
d f
b c
1
f d
e
e b c
a
e
1
f
2
d
e
5 6
c
3
6
(a) 选第 1 条边
a
(b) 选第 2 条边
a
1
b
1 2
d b
3
c
f
3
c
f
4
2
d
(c ) 选第 3 条边
a b e
(d) 选第 4 条边
5
c
1
f
a
5 4 2
d 或者 b
e
1
f
3
(e ) 选第 5 条边
3
例9.3在通信中,A、B、C、D出现的频率为1、5、7、3, 求传输它们的最佳前缀码(哈夫曼编码)。 解:
0
7
16
1 0
9
1(A) 的编码为: 100 1
5
5(B) 的编码为: 11 7(C) 的编码为: 0 3(D) 的编码为: 101 字符 编码 1 100 5 11 7 0 3 101
0
1
4
基本回路 Ca=aed, Cb=bdf, Cc=cef, 基本回路系统 {Ca,Cb,Cc}
基本回路 Ca=aeh Cb=bfe Cc=cgf Cd=dhg
图9.2
基本回路系统{Ca,Cb,Cc,Cd}
四.基本割集与基本割集系统
设T是n阶m条边的无向图G的生成树,G中只含T的一条树枝,其 余边全为T的弦的割集(边割集)称为G中对应T的基本割集. G中全体基本割集的集合称为对应T的基本割集系统. 说明:基本割集的个数为n-1. 例9.1图9.3中实线边所 构成的子图是G的一棵生 成树T,求T对应的基本回 路和基本回路系统,基本 V2 割集和基本割集系统. 解:T的基本回路为:
+ d * e f g + * /
a
*
b
c
f
V1 a b h c
V6 e d V5 V4 i
g
V3
Cf=face,Cg=gba,Ch=hdcb,Ci=ied. 图9.1 基本回路系统{Cf,Cg,Ch,Ci} T的基本割集Sa={a,g,f},Sb={b,g,h},Sc={c,h,f},Sd={d,h,I}, Se={e,i,f};基本割集系统为{Sa,Sb,Sc,Sd,Se}
V2
V5
百度文库
V2
V5
V2
V3
V4
V3 (1)
V4
V3 (2)
V4
V5
V6 (3)
V7
定理1(树的等价定义) 设G=<V,E>,则下面各命题是等价的: (1)G连通而不含回路; (2)G的每对顶点之间具有唯一的一条路径; (3)G是连通的且m=n-1; (4)G中无回路且m=n-1; (5)G中无回路,但在G中任意两个不相邻的之间增加一条边 就形成唯一的一条初级回路. (6)G是连通的且G中每条边都是桥; (7)G是连通的,但删除任何一条边后,就不连通了; 其中n为G中顶点数,m为边数.
五.最小生成树
设无向连通带权图G=<V,E,W>,T是G的一棵生成树,T各边带 权之和,称为T的权,记作W(T). G的所有生成树中带权最小的生成树称为最小生成树. 最小生成树的求法(避圈法-Kruskal算法): 设G=<V,E,W>中有m条边e1,e2,…,em,它们带的权分别为 a1,a2,…,am, 不妨设a1≤a2 ≤… ≤am. (1)取e1在T中(e1非环,若e1为环,则弃e1) (2)若e2不与e1构成回路.取e2在T中,否则弃e2,再查e3,继续 这一过程,直到形成生成树T为止. 则T是最小生成树.
a a e e b c c (1)无向图 d (2)生成树 d b b
a
c (3)余树
d
图9.1 注)生成树不唯一,余树也不唯一并且余树不一定是树,
定理3:任何连通图G至少存在一棵生成树. 推论:设T是n阶m条边无向连通图G中的生成树, 则T有n-1条树枝,m-(n-1)=m-n+1条弦.
三.基本回路与基本回路系统
c
4
2
d
克鲁斯卡尔方法求最小生成树的过程
9.2 根树
一.有向树及根树
一个有向图D,如果略去有向边的方向所得无向图为一 棵无向树,则称D为有向树. 一棵非平凡的有向树,如果有一个顶点的入度为0,其 余顶点的入度均为1,则称此有向树为根树. 入度为0的顶点称为树根; 入度为1、出度为0的顶点称为树叶; 入度为1、出度大于0的顶点称为内点; 内点和树根统称为分支点. 在根树中,从树根到任意顶点的通路长度称为该顶点的 层数,记作l(v); 层数最大的顶点的层数称为树高,记作h(T).
若r元完全正则树T是有序树,则称T是r元有序完全正则树.
V1 V1 1 V1 2 V3 1 V4 V5 V6 V5 V5 V6 2 3
V2
V3
V4
V2
V3
V2
V4
V1 1 2
V1 1
V1 2
V2 1 V4
V3 2 V5 V4
V2
V3 1 V5 V6 V7 V4
V2 2 V5
V3
1 V6
2 V7
三.哈夫曼树(Huffman树) 哈夫曼树(Huffman树 (Huffman
设T是n阶m条边的无向图G的生成树,G中只含T的一条弦,其 余的边都是T的树枝的回路称为G对应T的基本回路. G中全体基本回路集合称为G对应T的基本回路系统. 说明:基本回路的个数为m-n+1
a V1 V2 d V3 b f V4 c e V1 a V2 e b f V4 c V3 g V5 h d
2元树T的t片树叶分别带权值w1,w2,…,wt,称W(T) =
t
∑wl(w )
i=1 i i
为T的权,其中l(wi)为带权wi的树叶的层数.在所有带权为 2元树中,其权最小的2元树称为最优树,也称为Huffman树. 最优树的求法(Huffman算法) 给定权值w1,w2,…,wt,且w1≤w2 ≤ … ≤wt (1)连接w1,w2为权的两片树叶,得一分支点,其权为w1+w2, (2)在w1+w2,w3,…,wt中选出两个最小的权值,连接它们对 应的顶点(不一定都是树叶),得分支点及所带的权. (3)重复(2)直到形成t-1个分之点,t片树叶为止.
第9 章 树
9.1 无向树及生成树
8.2 根树及其应用
9.1 无向树及生成树
一.树和森林
定义:连通而不含回路的无向图称为无向树.简称树,用T表示. 连通分支数大于等于2,且每个连通分支均是树的非连通 无向图称为森林.平凡图称为平凡树. 在树T中,度数为1的顶点称为树叶,非树叶的顶点称为分支点.
v1 V1 V1