离散数学——树

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

用Huffman算法产生最佳前缀码
例16.6 在通信中,八进制数字出现的频率如 下: 0:25% 1:20% 2:15% 3:10% 4:10% 5:10% 6: 5% 7: 5%
求传输它们的最佳前缀码? 求传输10n(n≥2)个按上述比例出现的八进
解答 以100乘各频率为权,并按小到大排列,得w1=5, w2=5, w3=10, w4=10, w5=10, w6=15, w7=20, w8=25。产生的最优树如下。
生成树的存在条件
定理16.3 无向图G具有生成树当且仅当G连通。 证明 必要性,显然。
充分性(破圈法)。 若G中无回路,G为自己的生成树。 若G中含圈,任取一圈,随意地删除圈上的一条边, 若再有圈再删除圈上的一条边,直到最后无圈为止。 易知所得图无圈(当然无回路)、连通且为G的生成子图, 所以为G的生成树。
• 二叉树的应用
根树的定义
定义16.6 T是n(n≥2)阶有向树, (1) T为根树— T中有一个顶点入度为0,其余顶
点的入度均为1 (2) 树根——入度为0的顶点 (3) 树叶——入度为1,出度为0的顶点 (4) 内点——入度为1,出度不为0的顶点 (5) 分支点——树根与内点的总称 (6) 顶点v的层数——从树根到v的通路长度 (7) 树高——T中层数最大顶点的层数
唯一性(反证法)。 若路径不是唯一的,设Г1与Г2都是u到v的路径, 易知必存在由Г1和Г2上的边构成的回路, 这与G中无回路矛盾。
(2)(3)
如果G中任意两个顶点之间存在唯一的路径,
则G中无回路且m=n-1。
首先证明 G中无回路。 若G中存在关联某顶点v的环, 则v到v存在长为0和1的两条路经 (注意初级回路是路径的特殊情况), 这与已知矛盾。 若G中存在长度大于或等于2的圈, 则圈上任何两个顶点之间都存在两条不同的路径, 这也与已知矛盾。
例题
小节结束
16.2 生成树
定义16.2 设G为无向图, (1)T为G的树—T是G的子图并且是树。 (2)T为G的生成树—T是G的生成子图并且是树

(3)e为T的树枝—设T是G的生成树,e∈T E(G) ,若e∈E(T)。
(4)e为T的弦—设T是G的生成树,e∈E(G), 若eE(T)。
说明
注意:T 不一定连通,也不一定不含回路(ni1) nisns
i 1
i 1
i 1
由于s≥2,与m=n-1矛盾。
(4)(5)
如果G是连通的且m=n1,则G是连通的且G中 任何边均为桥。
只需证明G中每条边均为桥。 e∈E,均有|E(G-e)|=n-1-1=n-2, 由习题十四题49(若G是n阶m条边的无向连通图,则m≥n-1)可
由握手定理可知,∑dTi(vj)=10,且δ(Ti)≥1, △(Ti)≤5。
于((12))是11,,T11i的,,11度,,数11,,列12,,必54 为以下(在4情一)对况棵应树之两中棵一两非。个同2度构顶的点树相,邻,
(3) 1,1,1,1,3,3
在另一棵树中不相邻,
(4) 1,1,1,2,2,3
根树的画法
树根放上方,省去所有有向边上的箭头。
树叶——8片 内点—— 6个 分支点—— 7个 高度—— 5
家族树
常将根树看成家族树,家族中成员之间的关系如 下定义。
定义16.7 设T为一棵非平凡的根树,
vi、vj∈V(T), 若 vi 可 达 vj, 则 称 vi 为 vj 的 祖 先 ,vj为vi的后代。 若vi邻接到vj(即<vi,vj>∈E(T)),则称vi为vj的 父亲,而vj为vi的儿子。 若vj、vk的父亲相同,则称vj与vk是兄弟。 定义16.8 设v为根树T中任意一顶点,称v及其后
u,v∈V,且u≠v,则u与v之间存在唯一的路径Г,
则Г∪(u,v)((u,v)为加的新边)为G中的圈,
显然圈是唯一的。
(6)(1)
如果G中没有回路,但在任何两个不同的顶点之 间加一条新边,在所得图中得到唯一的一个含 新边的圈,则G是树。
只需证明G是连通的。 u,v∈V,且u≠v,则新边(u,v)∪G产生唯一的圈C, 显然有C -(u,v)为G中u到v的通路,故u~v, 由u,v的任意性可知,G是连通的。
无向树的性质
定理16.2 设T是n阶非平凡的无向树,则T中至少 证有明 两片树设T叶有。x片树叶,由握手定理及定理16.1可知,
2 ( n 1 ) d ( v i) x 2 ( n x )
由上式解出x≥2。
例16.1
例16.1 画出6阶所有非同构的无向树。
解答 设Ti是6阶无向树。
由定理16.1可知,Ti的边数mi=5,
例题
例题 已知无向树T中,有1个3度顶点,2个2 度顶点,其余顶点全是树叶,试求树叶数 ,并画出满足要求的非同构的无向树。
解答 设有x片树叶,于是结点总数为 n=1+2+x=3+x
由握手定理和树的性质m=n1可知, 2m=2(n1)=2×(2+x) =1×3+2×2+x
解出x=3,故T有3片树叶。 故T的度数应为1、1、1、2、2、3。
W(T1)=2×2+2×2+3×3+5×3+3×2=38 W(T2)=3×4+5×4+3×3+2×2+2×1=47 W(T3)=3×3+3×3+5×2+2×2+2×2=36
求最优树的算法(Huffman算法)
给定实数w1, w2, …, wt,且w1≤w2 ≤ … ≤ wt。 ①连接权为w1, w2的两片树叶,得一个分支点,
定义16.10 设1, 2, …, n-1, n是长度为n的符号 串,
称其子串1, 12, …, 12…n1 分别为该字符 串的长度为1,2, …,n的前缀。
设A={1, 2, …, m}为一个符号串集合,若对于 任意的i, jA,i j,i, j互不为前缀,则称A 为前缀码。
方法: 将每个分支点引出的两条边分别标上0和1。 结果:
m=m1+m2+1=n1-1+n2-1+1=n1+n2-1=n-1。
(3)(4)
如果G中无回路且m=n-1,则G是连通的且m=n -1。
只需证明G是连通的。(采用反证法)
假设G是不连通的,由s(s≥2)个连通分支G1,G2,…,Gs组成 ,并且Gi中均无回路,因而Gi全为树。
由(1)(2)(3)可知,mi=ni-1。于是,
其权为w1+w2。 ② 在w1+w2, w3, …, wt中选出两个最小的权,连
接它们对应的顶点(不一定是树叶),得新分 支点及所带的权。
③ 重复② ,直到形成t1个分支点、t片树叶为 止。
算法举例
例如:求带权为1、1、2、3、4、5的最优树 解答。
W(T)=38
最佳前缀码
(1)最佳前最码的定义
其他情况均能画出一棵非同构
(5) 1,1,2,2,2,2
的树。
例16.1
• 人们常称只有一个分支点,且分支点的度 数为n-1的n(n≥3)阶无向树为星形图,称唯 一的分支点为星心。
例16.2
例16.2 7阶无向图有3片树叶和1个3度顶点,其 余3个顶点的度数均无1和3。试画出满足要求 的所有非同构的无向树。
例题
例题 已知无向树T有5片树叶,2度与3度顶点各1个,其余顶 点的度数均为4,求T的阶数n,并画出满足要求的所有非同 构的无向树。
解答 设T的阶数为n, 则边数为n1,4度顶点的个数为n7。 由握手定理得 2m = 2(n1) = 51+21+31+4(n7) 解出n = 8,所以4度顶点为1个。 故T的度数列为1、1、1、1、1、2、3、4。
最小生成树
定义16.5 设T是无向连通带权图G=<V,E,W>的一 棵生成树,
T的各边权之和称为T的权,记作W(T)。 G的所有生成树中权最小的生成树称为G的最小 生成树。
求最小生成树的算法(避圈法(Kruskal))
(1)设n阶无向连通带权图G=<V,E,W>有m条边。 不妨设G中没有环(否则,可以将所有的环先 删去),将m条边按权从小到大排序: e1,e2,…,em。
(2)取e1在T中。
例16.3
例16.3 求下图所示两个图中的最小生成 树。
W(T1)=6
W(T2)=12
例题
例如 求所示图的一棵最小生成解树答。
最小生成树 W(T)=38
小节结束
16.3 根树及其应用
• 设D是有向图,若D的基图是无向树,则称 D为有向树。
• 在所有的有向树中,根树最重要,所以我们 只讨论根树。
间加一条新边,在所得图中得到唯一的一个含 新边的圈。
(1)(2)
如果G是树,则G中任意两个顶点之间存在唯一的路径。
存在性。 由G的连通性及定理14.5的推论(在n阶图G中,若从顶点vi到 vj(vi vj)存在通路,则vi到vj 一定存在长度小于等于n-1的初 级通路(路径))可知,
u,v∈V,u与v之间存在路径。
0 —— 01 1 —— 11 2 —— 001 3 —— 100
4 —— 101 5 —— 0001 6 —— 00000 7 —— 00001
传100个按比例出现的八进制数字所需二进制数字个数W(T)=285 ,所以传10n(n2)个所用二进制数字应为2.8510n。 用等长码(长为3)应该用310n个数字。
由于在每一步选择两个最小的权的选法不唯一。
因为两个权对应的顶点所放左右位置不同。 说明 画出的最优树可能不同,最佳前缀码并不唯一,但有一点
是共同的,就是它们的权应该相等,即它们都应该是最优 树。
3、 波兰符号法与逆波兰符号法
• 对一棵根树的每个顶点都访问且仅访问一
2020/3/30
本章说明
• 树是图论中重要内容之一。 • 本章所谈回路均指初级回路(圈)或简单回路,
不含复杂回路(有重复边出现的回路)。
16.1 无向树及其性质
定义16.1 无向树——连通无回路的无向图,简称树, 用T表示。 平凡树——平凡图。 森林——若无向图G至少有两个连通分支(每 个都是树)。 树叶——无向图中悬挂顶点。 分支点——度数大于或等于2的顶点。
举例 如图为九个顶点的树。
无向树的等价定义
定理16.1 设G=<V,E>是n阶m条边的无向图,则 下面各命题是等价的:
(1)G是树。 (2)G中任意两个顶点之间存在唯一的路径。 (3)G中无回路且m=n1。 (4)G是连通的且m=n1。 (5)G是连通的且G中任何边均为桥。 (6)G中没有回路,但在任何两个不同的顶点之
知,G-e已不是连通图, 所以,e为桥。
(5)(6)
如果G是连通的且G中任何边均为桥,则G中没 有回路,但在任何两个不同的顶点之间加一条 新边,在所得图中得到唯一的一个含新边的圈
因为。G中每条边均为桥,删掉任何边,将使G变成不连通图,
所以,G中没有回路,也即G中无圈。
又由于G连通,所以G为树,由(1) (2)可知,
最优二叉树
定义16.9 设2叉树T有t片树叶v1, v2, …, vt,权分别为w1, w2,
t
…, wt,称 W(t) wil(vi ) 为T的权,其中l(vi)是vi的层数, i1
在所有有t片树叶、带权w1, w2, …, wt的2叉树中,权最小的 2叉树称为最优2叉树。
举例
下图所示的三棵2叉树T1,T2,T3都是带权为2、2、3 、3、5的2叉树。
根树的分类
(1)设T为根树,若将T中层数相同的顶点都标定 次序, 则称T为有序树。
(2)分类:根据根树T中每个分支点儿子数以及 是否有序
• r叉树——每个分支点至多有r个儿子 r叉有序树——r叉树是有序的
• r叉正则树——每个分支点恰有r个儿子 r叉正则有序树——r叉正则树是有序的
• r叉完全正则树——树叶层数均为树高的r叉
解答 设Ti为满足要求的无向树,则边数mi=6,于 是
∑d(vj)=12=e+3+d(v4)+d(v5)+d(v6)。 由于d(vj)≠1∧d(vj)≠3,而且d(vj)≥1且d(vj)≤6,j =4,5,6, 可知d(vj)=2,j=4,5,6。于是Ti 的度数列为
1,1,1,2,2,2,3
例16.2
(2)(3)
如果G中任意两个顶点之间存在唯一的路径,
则G中无回路且m=n-1。
其次证明 m=n-1。(归纳法) n=1时,G为平凡图,结论显然成立。 设n≤k(k≥1)时结论成立,
当n=k+1时,设e=(u,v)为G中的一条边, 由于G中无回路,所以G-e为两个连通分支G1、G2。
设ni、mi分别为Gi中的顶点数和边数,则ni≤k ,i=1,2, 由归纳假设可知mi=ni-1,于是
相关文档
最新文档