树与生成树全解

合集下载

5_3树的概念和算法

5_3树的概念和算法
第10页
定理.1(证明(3)(4))

Ⅱ、增加任何新边,得到一个且仅有一个回路


若在连通图T中加入新的边(ui,uj),则该边与T中ui到 uj的一条路构成一个回路,则该回路必是唯一的。 否则(即回路不唯一),若删去此新边,T中必有回 路,得出矛盾。

综述,T连通且e=v-1则T无回路但增加任何新边,得 到一个且仅有一个回路。
第 7页
定理.1(证明(2)(3))
(2) T无回路 且e=v-1 (3) T连通且e=v-1 证明(2)(3): 证明T连通: (反证法) 假设T有s个连通分支, 则每个连通分支都是连通无 回路即树, 所以 e=e1+e2+…+ es=(v1-1)+(v2-1)+…+(vs-1) =v1+v2+…+vs-s=v-s=v-1, 所以s=1,与s>1矛盾, 所以T连通。

第 6页
定理.1(证明(1)(2))
(1) 无回路的连通图 (2) T无回路且e=v-1 证明(1)(2): e=v-1(归纳法):


v=1时,e=0(平凡树)。 设vk-1时成立,即ek-1=vk-1-1。 当v=k时, 要证ek=vk-1。 因为无回路且连通,故至少有一边其一个端点u的度数为 1,设该边为(u,u*)。删除结点u,得到一个k-1个结点的 连通图T’,T’的边数e’=v’-1=(k-1)-1=k-2,于是将结点u 与边(u,v)加入图T’得到原图T,此时T的边数为e=e’+1=k2+1=k-1, 结点数v=v’+1=(k-1)+1=k,故e=v-1。 综上所述, T无回路且e=v-1。

离散数学中的图的树与生成树的计数

离散数学中的图的树与生成树的计数

在离散数学中,图是一个由点和边组成的抽象数学模型。

其中,树是一种特殊的图,它是一个无环连通图。

在图论中,树扮演了重要的角色,它具有许多有趣的性质和应用。

而生成树则是树的一个特殊子集,它由给定图中的所有顶点和部分边构成。

本文将介绍图的树的基本概念,并探讨生成树的计数方法。

首先,让我们来看看图的树。

树是一种无环连通图,其中任意两个顶点之间存在唯一一条路径。

它具有以下性质:1.n个顶点的树有n-1条边。

这可以通过归纳法证明:当n=1时,结论成立;假设n=k时成立,那么n=k+1时,只需要添加一个顶点和一条边,即可构成n=k+1个顶点的树。

因此,结论成立。

2.连接树上任意两个顶点的边都是桥。

即如果一条边被删除,那么树就会变成两个或更多个不相连的子树。

3.树是一个高度平衡的结构。

对于一个n个顶点的树,任意两个叶子结点之间的路径长度至多相差1。

4.树的任意两个顶点之间有唯一一条路径,路径长度为顶点之间的边数。

接下来,让我们来讨论生成树的计数方法。

生成树是树的一个特殊子集,它是由给定图中的所有顶点和部分边构成。

生成树的计数在图论中具有重要的意义和应用。

对于一个具有n个顶点的连通图来说,其生成树的个数可以通过Cayley公式计算得到。

Cayley公式是由亚瑟·凯利于1889年提出的,它给出了完全图的生成树数目。

据此,我们可以得到生成树的计数公式为:T = n^(n-2),其中T表示生成树的个数。

此外,还有一种常见的计数方法是基于度数矩阵和邻接矩阵的矩阵树定理。

矩阵树定理由高斯于1847年提出,它提供了一种计算图的生成树个数的方法。

根据矩阵树定理,一个无向图G的生成树数目等于该图度数矩阵的任意一个(n-1)阶主子式的行列式的值。

其中,度数矩阵是一个对角矩阵,它的对角线上的元素为各个顶点的度数。

邻接矩阵则是一个关于顶点间连接关系的矩阵,其中1表示相邻顶点之间存在边,0表示不存在边。

除了数学方法,还存在一种基于图的遍历的计数方法,称为Kirchhoff矩阵树定理。

离散数学

离散数学
4)i← i+1,转到步骤2).
(注)以上算法需假定图中每条边的权都不 相同.但事实上对图中有若干条边的权相同的情 形,只要将它们的权作微小的变动,使之各不相同, 即可使用这个算法.
例:见书本图9.4
又有计算最小生成树的实例:
1 11
6
3 2
9
7 8
10
4 5
红绿粉红紫黄
另有“破圈法”:删除边破坏回路,同时保持图的连 通性,直到没有回路为止。 a
注意,具有 n 个结点和恰有 n-1 条边的图未 必是树,但连通或无回路的是。 连通无圈完全刻划了树,这是树的一个特
性;树还有另外一个重要性质是:它以最少的
边使结点连通。
定理9.2 给定树T=<V,E>,若|V|≥2,则T中至 少存在两个悬挂结点(树叶)。
证明: 1)设T=<V,E>是树,|V|=v.因为T是连通图,viT 有deg(vi)≥1且由定理5-1.1有∑deg(vi)=2(|V|-1)=2v-2.
例:下图为根树,右边是左图省掉方向的代替图。
v1
v2 v3 v4 v2
v1
v3 v4
v5
v6
v7
v8 v9
v5
v6
v7
v8 v9
v10 v11 v12
v10
v11 v12
为表示结点间的关系,有时借用家族中的
术语。一棵根树可以看成一棵家族树。令u是有
根树中的分枝结点,若从u到v有一条边或,则 结点v称为结点u的“儿子”,或称u是v的“父 亲”;若从u到w有一条路,称u是w的“祖先”, 或称w是u的“子孙”或“后代”,同一个分枝
第九章 树
9.1 无向树及生成树
9.2 根树及其应用

图论第一章课后习题解答

图论第一章课后习题解答

bi 个 (i = 1,2,…,s),则有 列。 定理 7
bi = n。故非整数组(b ,b ,…, b )是 n 的一个划分,称为 G 的频序
1 2 s
s
i 1
一个 n 阶图 G 和它的补图 G 有相同的频序列。
§1.2 子图与图的运算
且 H 中边的重数不超过 G 中对应边的 定义 1 如果 V H V G ,E H E G , 重数,则称 H 是 G 的子图,记为 H G 。有时又称 G 是 H 的母图。 当 H G ,但 H G 时,则记为 H G ,且称 H 为 G 的真子图。G 的生成子图是 指满足 V(H) = V(G)的子图 H。 假设 V 是 V 的一个非空子集。以 V 为顶点集,以两端点均在 V 中的边的全体为边集 所组成的子图,称为 G 的由 V 导出的子图,记为 G[ V ];简称为 G 的导出子图,导出子图 G[V\ V ]记为 G V ; 它是 G 中删除 V 中的顶点以及与这些顶点相关联的边所得到的子图。 若 V = {v}, 则把 G-{v}简记为 G–v。 假设 E 是 E 的非空子集。以 E 为边集,以 E 中边的端点全体为顶点集所组成的子图 称为 G 的由 E 导出的子图,记为 G E ;简称为 G 的边导出子图,边集为 E \ E 的 G 的 导出子图简记为 G E 。若 E e ,则用 G–e 来代替 G-{e}。 定理 8 简单图 G 中所有不同的生成子图(包括 G 和空图)的个数是 2m 个。 定义 2 设 G1,G2 是 G 的子图。若 G1 和 G2 无公共顶点,则称它们是不相交的;若 G1 和 G2 无公共边,则称它们是边不重的。G1 和 G2 的并图 G1∪G2 是指 G 的一个子图,其顶点 集为 V(G1)∪V(G2),其边集为 E(G1)∪E(G2);如果 G1 和 G2 是不相交的,有时就记其并图为 G1+G2。类似地可定义 G1 和 G2 的交图 G1∩G2,但此时 G1 和 G2 至少要有一个公共顶点。

《离散数学》课件-第16章树

《离散数学》课件-第16章树
解:易见所求为该图的一棵最小生成树,如图所示 总造价为57
18
16.3 根树及其应用
19
定义(有向树)设D是有向图,如果D的基图是无向 树,则称D为有向树。
在有向树中最重要的是根树。 定义16.6(根树)一棵非平凡的有向树,如果恰有 一个顶点的入度为O,其余所有顶点的入度均为1,则称该 树为根树。 入度为0的顶点称为树根,入度为1出度为0的顶点称 为树叶,入度为1出度不为0的点称为内点,内点和树根统 称为分支点。 树根到一个顶点的有向通路的长度称为该顶点的层数。 层数最大顶点的层数称为树高。 平凡树也称为根树。
2
16.1 树及其性质
3
定义16.1(树和森林) 连通且无回路的无向图称为无向树,简称为树,常用
T表示树。 平凡图为树,称为平凡树。 非连通且每个连通分支是树的无向图称为森林。 T中度数为1的顶点(悬挂顶点)称为树叶,度数大于
1的顶点称为分支点。 称只有一个分支点,且分支点的度数为n-1的n(n≥3)
定义16.8(子树)设T为一棵根树,则其任一顶点v 及其后代导若将层数相同的顶点都 标定次序,则称T为有序树。
根据每个分支点的儿子数以及是否有序,可将根树 分成如下若干类:
定义(跟树分类)设T为一棵根树 (1)若T的每个分支点至多有r个儿子,则称T为r叉 树。又若r叉树是有序的,则称它为r叉有序树。 (2)若T的每个分支点恰好有r个儿子,则称T为r叉 正则树。又若r叉正则树是有序的,则称它为r叉正则有 序树。 (3)若T为r叉正则树,且每个树叶的层数均为树高, 则称T为r叉完全正则树。又若r叉完全正则树是有序的, 则称它为r叉完全正则有序树。
8
平均编码长度为:L = ∑ P( i )× l( i ) = 2.53bit i=1

离散数学7-树

离散数学7-树

(b)
(a)
V5
2
1
V7
8
9
V2
V4
2
3
V8
5
V1
V1
V4
V5
1
3
V7
V6
8
V4
2
V8
5
6
V1
1
V5
6
V7
V6
8
3
V8
5
6
V7
9
V3
(e)
V3
(f)
(g)
22
V2
V3
(h)
五.应用举例——求最小生成树
例3 用管梅谷算法求下图的最小生成树。
23
五.应用举例——求最小生成树
例3 用管梅谷算法求下图的最小生成树。
成圈。
首先证明T无简单回路。对n作归纳证明。
(i) n=1时,m=n-1=0,显然无简单回路;
(ii)假设顶点数为n-1时无简单回路,现考察顶点数是n的情况:此时至少有一
个顶点v其次数d(v)=1。因为若n个顶点的次数都大于等于2,则不少于n条边,但这与
m=n-1矛盾。
删去v及其关联边得到新图T’,根据归纳假设T’无简单回路,再加回v及其关联
边又得到图T,则T也无简单回路。
再由图的连通性可知,加入任何一边后就会形成圈,且只有一个圈,否则原图
中会含圈。
9
二. 基本定理——证明
证明(4):(3)(4),即证一个无圈图若加入任一边就形成圈,
则该图连通,且其任何一边都是桥。
若图不连通,则存在两个顶点vi和vj,在vi和vj之间没有路,若
加边(vi,vj)不会产生简单回路,但这与假设矛盾。由于T无简单回

二:平面图、对偶和作色、树和生成树

二:平面图、对偶和作色、树和生成树

一个平面图,一定可以用四种颜色进行着色,
使得邻接的结点都有不同的颜色。
2、着色
图G的正常着色(简称着色)是指对它的每一个结点指定一 种颜色,使得没有两个邻接的结点有同一种颜色。如果图G在着 色时用了n种颜色,我们称G为n-色的。最小着色数用x(G)表示。 虽然目前还没有一个简单的方法,可以确定任一图G是n-色的。 但我们可以用韦尔奇鲍威尔(Welch Powell)对图G着色: a) 将图G中的结点按照度数的递减次序进行排列(这种排列可能 并不是唯一的,因为有些点有相同度数);
3×5-6=9<10
K5
K3,3 推论: 如果图G=<V,E>是连通的简单平面图,若v ≥ 3,
且每个区域至少由四条边围成,则有e≤2v-4。
作业P317 (1) (2) (4)
7-6
对偶与着色
这个问题最早起源于地图着色,一个地图中相邻两个国家
以不同的颜色,那么最少需用多少种?
一百多年前,英国格色里(Guthrie)提出用四种猜想即可对地 图进行着色的猜想,1879年肯普(Kempe)给出该猜想的第一个证 明,但到了1890年希伍德(Hewood)发现肯普的证明是错误的,指
1 4
3
5
2 带权树 2
6
三、最小生成树
定义:在图G的所有生成树中,树权最小的那棵生成树, 称作最小生成树。 最小生成树的生成算法: (1)避回路法 (2)破圈法 作业P327 (3) (6)
deg(v ) 2e
i 1 i
v
故2e ≥6v,所以e ≥3v>3v-6,与e≤3v-6矛盾。 定理3 任意平面图G最多是5-色的。
7-7
一、树
树与生成树
定义: 一个连通且无回路的无向图称为树。树中度数为1

第二章 生成树

第二章 生成树

第二章树教学安排的说明章节题目:§2.1树的特性;§2.2割边与割点,§2.3生成树学时分配:共2课时本章教学目的与要求:会正确表述关于树的一些基本概念(如树、生成树、割边与割点),会用避圈法和破圈法找生成树,会用树的方法描述一些简单的实际问题.课 堂 教 学 方 案课程名称:§2.1树的特性;§2.2割边与割点;§2.3 生成树授课时数:2学时授课类型:理论课教学方法与手段:讲授法教学目的与要求:会正确表述关于树的一些基本概念(如树、生成树、割边与割点),会用避圈法和破圈法找生成树,会用树的方法描述一些简单的实际问题. 教学重点、难点:(1) 理解树的概念以及树的等价命题;(2) 掌握割边与割点的概念;(3) 理解生成树的定义;(4) 掌握找生成树的两种方法——避圈法和破圈法。

教学内容:树是图论中的一个重要概念。

树是一种极为简单而又非常重要的特殊图,它在计算机科学以及其它许多领域都有广泛的应用。

在1847年克希霍夫就用树的理论来研究电网络,1857年凯莱在计算有机化学中222n C H 的同分异构物数目时也用到了树的理论。

各类网络的主干网通常都是树的结构。

本节介绍树的基本知识,其中谈到的图都假定是简单图。

2.1 树的特性定义2.1.1 连通无圈的无向图称为无向树,简称为树(Undirected tree )。

记作T ,树中的悬挂点(或称T 中度数为1的顶点)又称为树叶(leave )(或叶顶点),其它顶点称为树枝(Branch Point 或内点(Inner Point))。

诸连通分支均为树的图称为森林(forest ),树是森林。

例1 图1中(a ),(b )为树,(c )为森林。

图1由于树无环也无重边(否则它有圈),因此树必定是简单图。

树还有等价命题:设T 是一个无向(,)n m 图,则以下关于T 的命题是等价的。

(1) T 是树;(2)T 无圈且1m n =-;(3) T 连通且1m n =-;(4)T 无圈,但增加任一新边,得到且仅得到一个圈。

图论课件第二章 树

图论课件第二章 树

3
4
5
6
7
8
5
6
7
8

8、树——(1)不具明显层次的树 (a图) (2)具有层次的树 (b图)
互为兄弟

1
2
3
4
5
6
7
8
a图
互为父 子
b图
§1-2 树的基本性质

1、定理:若连通图G=(V,E),n=|V|,则图 的生成树有n-1条边。
用归纳法易证明。

推论1 :非平凡树至少两个度为1的结点; 推论2: G连通的充要条件是G有生成树。
序 年龄 收入 学生 号 01 青 高 否 02 青 高 否 03 中 高 否 04 老 中 否 05 老 低 是 06 老 低 是 07 中 低 是 08 青 中 否 09 青 低 是 10 老 中 是 11 青 中 是 12 中 中 否 13 中 高 是 14 老 中 否 15 老 中 否
信誉 买计算机吗? 良 优 良 良 良 优 优 良 良 良 优 优 良 优 优 不买 不买 买 买 买 不买 买 不买 买 买 买 买 买 不买 不买
§2-3 有序二元树

1、定义1: 图T是一棵树,把每边规定一 个方向且使得任意的vi∈V(T),存在有向道路 P(v0,vi),则称T是外向树,v0叫做根,把外向 树之定向反过来,得到的有向树叫内向树。
v0 v0





2、定义2:T为外向树,对任意的顶点 v∈V(T), 都有d+(v)≤σ,则称T为σ元树; 3、当e=(u,v)时,u称为v之父,v称为u之子; 同父之子称为兄弟。 4、除叶子外,每顶点皆σ子时,称为典型σ元 树; 5、兄弟间有序时,叫有序树,有序树之序列 叫做有序林。 6、有序树当σ=2时,就叫有序二元树。

【离散数学讲义】8.树与生成树53

【离散数学讲义】8.树与生成树53

2.弦:图G中,不在其生成树里的边,称作弦. 所有弦的集合,
称为该生成树的补.
v1
定理2 :连通图G中至少有一棵生成树.
v2
v3
证明:如果G中无回路, 则G本身就是树. v4
v5
如果G中有回路,可以通过反复删去回路
中的边,使之既无回路,又连通.就得到生成树.
思考题:设G是有n个结点,m条边的连通图, 问要删去多少
为该结点的层次. 同一层次的结点称为兄弟结点.
7.树高:从树根到各个叶结点的路径中, 最长路径的长度,
称为该树的高度(树高).
三.举例: a)语法树
主语
句子
谓语短语
冠词 形容词 名词 动词
宾语
The little
b)算术表达式树 ((a+b)÷c)×(d-e)

19
42,58 24,34,42 19,23,24,34
17,17,19,23,24
11,13,17,17,19,23
7,10,11,13,17,19,23 5,5,7,11,13,17,19,23
2,3,5,7,11,13,17,19,23
23 24
34
11 13 17 17
7 10
55
23
5. 最优树的应用举例
34 6 6 v6
Kruskal算法: 设G是有n个结点,m条边(m≥n-1)的连通图. S=Φ i=0 j=1
将所有边按照权升序排序: e1, e2, e3,… ,em
S=S∪{ai} j=j+1
|S|=n-1 Y 输出S 停 N
N
取ej使得
ai=ej i=i+1

7-7 树与生成树

7-7 树与生成树

实例
例 设G为n(n≥5)阶简单图,证明 或G的补图中必含 为 ( )阶简单图,证明G或 的补图中必含 圈。 设简单图G和其补图的边数分别为 和其补图的边数分别为m和 , 证 设简单图 和其补图的边数分别为 和m’,则 m+m’= n(n-1)/2 根据鸽巢原理, 与其补图必有一个边数 与其补图必有一个边数≥ 根据鸽巢原理,G与其补图必有一个边数 n(n-1)/4 , 不妨设G的边数 下面证G中必含有圈 中必含有圈。 不妨设 的边数m≥ n(n-1)/4 ,下面证 中必含有圈。 的边数 假设G中没有圈, 个连通分支, 假设 中没有圈,设G有w个连通分支,则每个连通分支 中没有圈 有 个连通分支 都是树, 分别为第i个连通分支 都是树,mi=ni-1,i=1,…,w,mi,ni分别为第 个连通分支 , , 的边数与阶数, 的边数与阶数,所以有
实例
下面两个正整数序列中, 例 下面两个正整数序列中,哪个能充当无向树的度 数序列?若能画出2棵非同构的无向树 棵非同构的无向树。 数序列?若能画出 棵非同构的无向树。 (1)1,1,1,1,2,3,3,4 ) (2)1,1,1,1,2,2,3,3 ) 解 (1)不可以,因为所有度数之和等于 ,而结点 )不可以,因为所有度数之和等于16, 数为8,假设可以构成树,则度数之和应为14, 数为 ,假设可以构成树,则度数之和应为 ,所 以不可以。 以不可以。 (2)可以。 )可以。
Go
(1)⇒(2)的证明 ⇒ 的证明
如果T是无回路的连通图, 中无回路且e=v− , 如果 是无回路的连通图,则G中无回路且 −1,其 中无回路且 是边数, 中e是边数,v是结点数 是边数 是结点数 归纳法。 证明 归纳法。 当v=2时,因为 连通无回路, 连通无回路, 时 因为T连通无回路 所以只有e=1,故e=v-1成立。 , 成立。 所以只有 成立 假设v=k-1时命题成立,当v=k时, 时命题成立, 假设 时命题成立 时 是无回路且连通, 的结点u, 因T是无回路且连通,则至少有一个度为 的结点 , 是无回路且连通 则至少有一个度为1的结点 设与其关联的边为(u,w),删去u,得到一个 个结点 ,删去 ,得到一个k-1个结点 设与其关联的边为 的连通无向图T’, 的连通无向图 ,

最小生成树算法详解

最小生成树算法详解

最小生成树算法详解最小生成树(Minimum Spanning Tree,简称MST)是图论中的一个经典问题,它是指在一个加权连通图中找出一棵包含所有顶点且边权值之和最小的树。

在解决实际问题中,最小生成树算法被广泛应用于网络规划、电力传输、城市道路建设等领域。

本文将详细介绍最小生成树算法的原理及常见的两种算法:Prim算法和Kruskal算法。

一、最小生成树算法原理最小生成树算法的核心思想是贪心算法。

其基本原理是从图的某个顶点开始,逐步选取当前顶点对应的边中权值最小的边,并确保选取的边不会构成环,直到所有顶点都被连接为止。

具体实现最小生成树算法的方法有多种,两种常见的算法是Prim 算法和Kruskal算法。

二、Prim算法Prim算法是一种基于顶点的贪心算法。

它从任意一个顶点开始,逐渐扩展生成树的规模,直到生成整个最小生成树。

算法的具体步骤如下:1. 初始化一个空的生成树集合和一个空的顶点集合,将任意一个顶点加入到顶点集合中。

2. 从顶点集合中选择一个顶点,将其加入到生成树集合中。

3. 以生成树集合中的顶点为起点,寻找与之相邻的顶点中权值最小的边,并将该边与对应的顶点加入到最小生成树中。

4. 重复第3步,直到生成树中包含所有顶点。

Prim算法是一种典型的贪心算法,其时间复杂度为O(V^2),其中V为顶点数。

三、Kruskal算法Kruskal算法是一种基于边的贪心算法。

它首先将所有边按照权值从小到大进行排序,然后从小到大依次选择边,判断选取的边是否与已选取的边构成环,若不构成环,则将该边加入到最小生成树中。

算法的具体步骤如下:1. 初始化一个空的生成树集合。

2. 将图中的所有边按照权值进行排序。

3. 依次选择权值最小的边,判断其两个顶点是否属于同一个连通分量,若不属于,则将该边加入到最小生成树中。

4. 重复第3步,直到最小生成树中包含所有顶点。

Kruskal算法通过并查集来判断两个顶点是否属于同一个连通分量,从而避免形成环。

03 最小生成树

03 最小生成树
6 2 3 5 3 6 5 6 4 6 1 1 5 5 4 2 5 6 2 1 3 4
所选的边都是一端 一端在 1. 所选的边都是一端在V-U中,另一端在U中; 中 另一端在 中 2. 从一个顶点开始逐步增加 中的顶点,Prim算法可称为“加点 从一个顶点开始逐步增加U中的顶点 中的顶点, 算法可称为“ 算法可称为 法”。
普里姆(Prim)算法过程示例 普里姆(Prim)算法过程示例 (Prim)
28 1 10 6 25 25 5 22 4 14 7 18 2 16 3 12
普里姆(Prim)算法过程示例 普里姆(Prim)算法过程示例 (Prim)
28 1 10 6 25 25 5 22 4 14 7 18 2 16 3 12
A B C D E B C
A D E B C
A D E
F 图G
G
F
G
F
G
图G的生成树 的生成树
图G的又一生成树 的又一生成树
1. 如果在一棵生成树上添加一条边,必定构成一个环; 如果在一棵生成树上添加一条边 必定构成一个环 添加一条边 必定构成一个 因为这条边使得它依附的那两个顶点之间有了第二 条路径。 条路径。 2. 一棵有 个顶点的生成树 连通无回路图)有且仅有 一棵有n个顶点的生成树 连通无回路 有且仅有 个顶点的生成树(连通无回路图 有且仅有(n条边,则是 1)条边 如果一个图有 个顶点和小于 条边,如果一个图有 个顶点和小于 条边 条边 如果一个图有n个顶点和小于(n-1)条边 则是 非连通图。如果它多于 连通图。如果它多于(n-1)条边 则一定有回路。 条边,则一定有回路。 多于 条边 则一定有回路 3. 有(n-1)条边的图不一定都是生成树。 条边的图不一定都是生成树。 条边的图不一定都是生成树

《离散数学课件》5树

《离散数学课件》5树

W(T)等于所有分支点的权之和
36
实例
例 求带权为1, 1, 2, 3, 4, 5的最优树. 解题过程由下图给出,W(T)=38
7,4,5 4,3,4,5 2,2,3,4,5 7,9
37
小结

树与有序树
( m=n1)
无向树及生成树
基本回路与基本回路系统 基本割集与基本割集系统 最小生成树

根树及其应用
23/60
例 求最小生成树
5 1 5 3 6 6 5 1 5 3 6 4 6 6 5 2 3 5 6 4 5 5 1 5 2 5 5 2 5
4
24/60
普里姆(Prim)算法
设置一个集合T,开始图上任选一点u0加入T,图顶点数 为n。重复以下工作n-1次:
• 在满足uT,vT的所有边中选边权w最小的 • 将v加入集合T中 • 输出边u ,v及边上的权 w
6
无向树的性质(续)
定理2 设T 是 n 阶非平凡的无向树,则T中至少 有两片树叶. 证 设T有x片树叶,由握手定理及定理1可知,
2(n 1) d (vi ) x 2(n x)
由上式解出x2.
7
例1 已知一棵树有5个4度顶点,3个3度顶点, 3个2度顶点,问有几个一度顶点?
(a)
(b) 只讨论(b)这样的所谓的“根 树”——有一个根的树。
28/53
根树
设T=(V,E)是一棵有向树,若仅有一个顶点的入度为0, 其余的顶点的入度均为1,这样一棵有向树我们称为 根树。 入度为0的顶点称为树根, 出度为0的顶点称为树叶, 出度不为0的顶点称为分枝点。 例
c d e a b d
有序树: 将根树同层上的顶点规定次序 r元树:根树的每个分支点至多有r个儿子 r元正则树: 根树的每个分支点恰有r个儿子 r元有序树: 有序的r元树 r元正则有序树: 有序的r元正则树

树
已知连通图G ,求其生成树步骤。
生成树的性质
设 G V , E 为连通图, V n, E m, (1) G至少有一棵生成树, (2) m n 1, (3) 设 T 是 G 的生成树, T ' 是 T 的余树,
则 T '中有 m n 1条边。 (4) 设 T 是 G 的生成树, T ' 是 T 的余树,
又由(1) m n 1 ,代入上式,解得 k 2 ,
即 T 至少2片叶。
例题
画出所有的6个顶点的非同构的树。 解:所要画的树有6个顶点,则边数为5,因此 6个顶点的度数之和为10,可以产生以下五 种 度数序列:
(1) 1 1 1 1 1 5
T1
(2) 1 1 1 1 2 4
(3) 1 1 1 1 3 3
注意: (1) 生成树不唯一,
(2) 余树不一定是树。
(3)
(3)是(2)的余树。
生成树存在条件
定理:无向图G具有生成树当且仅当G是连通图 证明:
必要性 显然 充分性,如果G无回路,则G本身就是它的生成树,如G 有回路,则在回路上任取一条边并去掉后仍是连通的, 如G仍有回路,则继续在该回路上去掉一条边,直到图 中无回路为止,此时该图就是G的一棵生成树
树的性质
(1) 树中顶点数与边数的关系: n m 1 。
(2) 非平凡树至少2片树叶。
证明: 设 T V , E 为 n 阶非平凡树,
设 T 有 k 片树叶,则有 (n k) 个顶点度数大于等
n
于2, 由握手定理, 2m d (vi ) k 2(n k ) i 1
T2
(4) 1 1 1 2 2 3
T3
(5)1 1 2 2 2 2

无向树及生成树

无向树及生成树
解设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
有3棵非同构的无向树
生成树
生成树的存在性
定理任何无向连通图都有生成树.
证用破圈法.若图中无圈,则图本身就是自己的生成树.
否则删去圈上的任一条边,这不破坏连通性,重复进行
直到无圈为止,剩下的图是一棵生成树.
推论1设n阶无向连通图有m条边,则mn1.
推论2设n阶无向连通图有m条边,则它的生成树的余树
有mn+1条边.
基本回路与基本回路系统
定义设T是n阶m条边的无向连通图G的一棵生成
树,设e1, e2, … , emn+1为T的弦.设Cr为T添加弦er
(1)G是树(连通无回路);
(2)G中任意两个顶点之间存在惟一的路径;
(3)G中无回路且m=n1;
(4)G是连通的且m=n1;
(5)G是连通的且G中任何边均为桥;
(6)G中没有回路,但在任何两个不同的顶点之间加一条新边后所得图中有惟一的一个含新边的圈.
下次课预习要点:
有向树
根树、树根、树叶、内点、分支点
设G=<V,E,W>,将非环边按权从小到大排序:e1, e2, …, em.
(1)取e1在T中
(2)检查e2,若e2与e1不构成回路,则将e2加入T中,否则弃去e2.
(3)检查e3,…,重复进行直至得到生成树为止.
实例
例求图的一棵最小生成树
复习思考题、作业题:
设G=<V,E>是n阶m条边的无向图,则下面各命题是等价的:

代数结构-树

代数结构-树

384
(1,2,5,6) (8,3,4,3)
6
7
离散数学 中国地质大学 计算机学院
18
生成树 (Spanning TCaryeleey定) 理:n个顶点的标号完全图Kn有nn-2棵生成树
384 7
(1,2,5,6,3) (8,3,4,3,8)
离散数学 中国地质大学 计算机学院
19
生成树 (Spanning TCaryeleey定) 理:n个顶点的标号完全图Kn有nn-2棵生成树
w(e1)<=w(e1’),从而w(T1)<=w(T*)。 依此进行,可以将ek加入到Tk-1中,将形成环,此环中必然然存在边ek’在T*中而不在T中,于是,删除ek’, 则得到生成树Tk。而显然,两边序列e1e2e3…ek 与 e1e2e3…ek’均不构成环,而按kruskal算法,必然有 w(ek)<=w(ek’), 从而 w(Tk)<= w(Tk-1)<=w(T*) ……, 最后可以将em加入到Tm-1中,得到生成树Tm,且w(Tm)<=…<=w(Tk)<= w(Tk-1)<=… <=w(T1)<=w(T*)。 而此时, T所有边都加入到Tm中,即Tm=T。故w(T)<=w(T*) 因此,T为最小生成树。
(3,2,2,3,4,1)
S:(5,6,7,2,3,4)
5
1
32 6
4
8
7
因此,序列集合{t1,t2,…,tn}与Kn的生成树集合存在双射关系。
离散数学 中国地质大学 计算机学院
29
2 生成树(Spanning Tree) 最小生成树(minimum spanning tree)
算法? Kruskal算法
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

定理7-7.4 一条回路和任意一棵生成树的 补至少有一条公共边。 证明 若有一条回路和一棵生成树的补没有 公共边,那么这回路包含在生成树之中, 然而这是不可能的,因为一棵生成树不 能包含回路。
定理7-7.5 一个边割集和任何生成树至少 有一条公共边。 证明 若有一条边割集和一棵生成树没有公 共边,那么删去这个边割集后,所得的 子图必然包含该生成树,这意味着删去 边割集后仍然连通,与边割集定义矛盾。
定理7-7.2 任一棵树至少有两片树叶。 证明 设树T=〈V,E〉,|V|=v, 则deg(vi)=2(v-1) 因为T是连通图,对于任意viT, 有deg(vi)≥1 若T中每一个结点的度数大于等于2, 则deg(vi) ≥2v,得出矛盾。 若T中只有一个结点度数为1,其它结点的度数 大于等于2,则 deg(vi) ≥2(v-1)+1=2v-1,得出矛盾。 故T至少有两个结点度数为1。
7-7 树与生成树
树是图论中最主要的概念之一,而且是最简单 的图之一。它在计算机科学中应用非常广泛。 我们从一个问题谈起,下图是通讯线路图 ( 图 7-7.1)。
图7-7.1 通讯线路图
其中 v1 , v2,…,v10 是十个城市,线路只 能在这里相接。不难发现,只要破坏了几 条线路,立即使这个通讯系统分解成不相 连的两部分。但要问在什么情况下这十个 城市依然保持相通?不难知道,至少要有 九条线把这十个城市连接在一起,显然这 九条线是不存在任何回路的,因而九条线 少一条就会使系统失去连通性。
⑶⑷ 若T连通且有v-1条边。 当v=2时,e=v-1=1,故T必无回路。如增加一条边得 到且仅得到一个回路。 设v=k-1时命题成立。 考察v=k时的情况,因为T是连通的,e=v-1。故每个 结点 u有deg(u)≥1 ,可以证明至少有一结点 u0 ,使 deg(u0)=1,若不然,即所有结点 u有 deg(u) ≥2, 则2e≥2v,即e≥v与假设e=v-1矛盾。删去u0及其关 联的边,而得到图T’,由归纳假设得知T’无回路, 在T’中加入u0及其关联边又得到T,故T无回路的, 如在 T中增加一条边 (ui ,uj) ,则该边与 T中 ui到 uj的 路构成一个回路,则该回路必是唯一的,否则若删 除这条新边,T必有回路,得出矛盾。
证明 ⑴⑵ 设在图T中,当v=2时,连通无向图,T中的边数 e=1,因此e=v-1成立。 设 v=k-1 时命题成立,当 v=k 时,因无向图且连 通,故至少有一条边其一个端点u的度数为1。 设该边为 (u,w) ,删去结点 u ,便得到一个 k-1 个结点的连通无向图T’,由归纳假设,图T’的 边数 e’=v’-1=(k-1)-1=k-2 ,于是再将结点 u 和 关联边 (u,w) 加到图 T’ 中得到原图 T ,此时图 T 的 边 数 为 e=e’+1=(k-2)+1=k-1 , 结 点 数 v=v’+1=(k-1)+1=k,故e=v-1成立。
例如图 7-7.4(a) 中,相继删去边 2 、 3 和 5 ,就得到 生成树 T1 ,如图 7-7.4(b) ,若相继删去 2 、 4 和 6 , 可得生成树T2,如图7-7.4 (c)。
图7-7.4 生成树
假定G是一个有n个结点和m条边的连通图, 则 G 的生成树正好有 n-1条边。因此要确 定 G 的一棵生成树,必须删去 G 中的 m(n-1)=m-n+1条边。该数m-n+1称为连通 图G的秩。
⑷⑸ 若图T不连通,则存在结点ui与uj,ui与uj之间没有 路,显然若加边{ ui,uj }不会产生回路,与假设 矛盾。又由于 T无回路,故删去任一边,图就不 连通。 ⑸⑹ 由连通性可知,任两个结点间有一条路,若存在两 点,在它们之间有多于一条的路,则 T中必有回 路,删去该回路上任一条边,图仍是连通的,与 ⑸矛盾。 ⑹⑴ 任意两点间必有唯一一条路,则 T必连通,若有回 路,则回路上任两点间有两条路,与⑹矛盾。
图7-7.3 生成树
定理7-7.3 连通图至少有一棵生成树。 证明 设连通图 G没有回路,则它本身就是一棵 生成树。若 G至少有一个回路,我们删去回路 上的一条边,得到G1,它仍然是连通的,并与 G有相同的结点集。若G1没有回路,则G1就是 G的生成树。若G1仍然有回路,再删去G1回路 上的一条边,重复上面的步骤,直到得到一个 连通图 H ,它没有回路,但与 G 有相同的结点 集,因此H为G的生成树。 由定理 7-7.3 的证明过程中可以看出,一个连通 图有许多生成树。因为取定一个回路后,就可 以从中去掉任何一条边,去掉的边不一样,故 可以得到不同的生成树。
定义7-7.1 树、森林 一个连通且无回路的无向图称为树。在树 中度数为1的结点称为树叶,度数大于1 的结点称为分枝点或内点。如果一个无 回路的无向图的每一个连通分图是树, 称为森林。
定理7-7.1 给定图T,以下关于树的定义是等价 的: ⑴无回路的连通图; ⑵无回路且e=v-1,其中e为边数,v为结点数; ⑶连通且e=v-1; ⑷无回路且增加一条新边,得到一个且仅一个回 路; ⑸连通且删去任何一个边后不连通; ⑹每一对结点之间有一条且仅一条路。
Байду номын сангаас
定义7-7.2 生成树、树枝 若图G的生成子图是一棵树,则该树称为G 的生成树。 设图G有一棵生成树T,则T中的边称作树枝。 图 G 中不在生成树上的边称为弦。所有弦的 集合称为生成树T相对于G的补。 图 7-7.3中,可以看出该图的生成树 T为粗线 所表达。其中e1,e7,e5,e8,e3都是T的树枝, e2,e4,e6是 T的弦, { e2,e4,e6} 是生成树 T的 补。
⑵ ⑶ 若T不连通,并且有k(k≥2)个连通分支T1, T2 , … , Tk ,因为每个分图是连通无回 路,则我们可证:如 Ti 有 vi 个结点 vi < v 时,Ti有vi-1条边,而 v=v1+v2+…+vk e=(v1-1)+(v2-1)+…+(vk-1)=v-k 但 e=v-1 ,故 k=1 ,这与假设 G 是不连通即 k≥2相矛盾。
相关文档
最新文档