第二章 生成树

合集下载

图论第一章课后习题解答

图论第一章课后习题解答

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 至少要有一个公共顶点。

第2章 树

第2章 树

推论2.4.1 每一连通图 都包含一生成树。 每一连通图G都包含一生成树 都包含一生成树。 推论
证明:令 T 为G的极小 minimal)连通生成子图 极小( 极小 连通生成子图 (即 T 的任一真子图都不是G的连通生成子图) (由定义知,T 可在保持连通性 保持连通性的前提下,用逐步 保持连通性 从G中去边的办法求出( ∴所去的边一定在一圈中 边 (即非割边 非割边)(∴每步至少破坏一圈))。 由T的 非割边 定义知,ω(T) = 1 , ω(T - e) = 2 ∀ e ∈ E(T) 。 即 T 的每边为割边,故由定理2.4知T为树。
2.1.4 G为 林 ⇔ ε = ν - ω。 2.1.5 若林G 恰有2k个奇点 奇点,则G 中存在k条边不重 奇点 的路 1 ,P2 ,..,Pk ,使得E(G) = E(P1 )∪E(P2 )∪ ... ∪E(Pk )。 2.1.6 正整数序列 (d 1 ,d 2 ,...,d ν )是一 棵树的度序 ν 列,当且仅当
定理2.5 设 T 为G的一生成树,e为G中不属于 定理 T的边,则T+e 含唯一的圈。 证明: 若e为环(即1-圈),结论显然成立。 不然,由于T 无圈,T + e 中的每个圈(若存 在的话)都包含e 。又,C为 T + e 的一圈 ⇔ C - e 为T 中连接e的两个端点的路。但, 由定理2.1知,T中恰只有一条这样的路,因 此 T + e中包含唯一的圈。
⇔ 不含圈的图。 树(tree) ⇔ 连通无圈图。 叶 (leave) ⇔ 树中度为1的顶点。 例:六个顶点的树
称边e为图G的割边( cut edge) ⇔ ω(G-e) > ω(G) 。 (或即 ω(G-e) = ω(G) + 1 ) (称边e为图G的非割边 ⇔ ω(G-e) = ω(G) 。)

1.6最小生成树及其算法

1.6最小生成树及其算法

如果生成树T *的权 w(T * ) 是 G 的所有生成树的权中最 小者,则称 T * 是 G 的最小生成树,简称为最小树,即
w(T * ) min{w(T )},式中取遍 G 的所有生成树T .
T
介绍最小树的两种算法: Kruskal算法(或避圈法)和破圈法.
A. Kruskal算法(或避圈法)
b)广探法 例用广探法求出下图10的一棵生成树 步骤如下: i) 在点集V中任取一点u, 给u以标号0. ii) 令所有标号i的点集为 Vi,检查[Vi,V\Vi]中的边端点 是否均已标号. 对所有未标 号之点均标以i+1,记下这些 边. iii) 对标号i+1的点重复步 步骤ii),直到全部点得到 标号为止.
步 骤
u
L( b)
L( c)
L( d)
L( e)
L(f)
L( g)
e
V
T0
C(T 0)
1 2 3 4
a b e c
4 - - -
15 9 5 -
32 25
7 7 - -

28 28 28 (a, b) (a, e)
{a} {a, b} {a, b, e}
{(a, b)} {(a, b), (a, e)} {(a, b), (a, e), (c, e)}


(5)T T {e k }, k,t t 1, k k 1, 转( ) 3
例5.3 用Kruskal算法求下图的最小生成树。
解:将图的边按照权值从小到大进行排列,列 出下表
边 (a, b) (c, e) (a, e) (b, c) (d, g) (a, c)
3) 当第2)步不能继续执行时,则停止. 定理5.3 由Kruskal算法构作的任何生成树都是 最小树。

图最小生成树

图最小生成树

是按逐个将顶点连通的方式来构造最
小生成树的。
10
从连通网络 N = { V, E }中的某一顶点 u0 出 发,选择与它关联的具有最小权值的边( u0, v), 将其顶点加入到生成树的顶点集合U中。 以后每一步从一个顶点在 U 中,而另一个顶点不 在U中的各条边中选择权值最小的边(u, v),把该 边加入到生成树的边集TE中,把它的顶点加入到 集合 U 中。如此重复执行,直到网络中的所有顶 点都加入到生成树顶点集合U中为止。
for (i=0; i<G.vexnum; ++i)
// 建零入度顶点栈S
if (!indegree[i]) Push(S, i); // 入度为0者进栈 count = 0; // 对输出顶点计数
while (!StackEmpty(S)) { Pop(S, i); printf(i, G.vertices[i].data); ++count; // 输出i号顶点并计数 for (p=G.vertices[i].firstarc; p; p=p->nextarc) { k = p->adjvex; // 对i号顶点的每个邻接点的入度减1
23
由于AOV网中有些活动之间没有次序要求,它们在拓扑序列的 位置可以是任意的,因此拓扑排序的结果不唯一。
C1 C3 C4
对右图进行拓扑排序,可得一个拓扑序列: C1,C3,C2,C4,C7,C6,C5 也可得到另一个拓扑序列: C2,C7,C1,C3,C4,C5,C6
C7 C2
C6 C5
还可以得到其它的拓扑序列。学生按照任何一个拓扑序列都可 以完成所要求的全部课程学习。 在AOV网中不应该出现有向环。因为环的存在意味着某项活动 将以自己为先决条件,显然无法形成拓扑序列。 判定网中是否存在环的方法:对有向图构造其顶点的拓扑有序 序列,若网中所有顶点都出现在它的拓扑有序序列中,则该 AOV网中一定不存在环。

图论 第二章 树

图论 第二章 树

u
v
G2
7/39
G1
对于有n个点的图G,由(3)的假设知删去G中某边可得 两个具有同样性质的子图G1与G2。设Gi 的点数与边数分别为 ni 与mi(i =1,2)。显然n1< n,n2 < n。由归纳假设有 n1= m1+1,n2= m2+1
相加得
n1+n2= m1+ m2+2 同时有 n1+n2= n, m1+ m2= m-1 代入(*)式得:n = m+1。 (*)
若不然,则G+uv存在另一个圈C’,且C’与C都是图G添加边 uv后产生的,即这两个不同圈都含有uv边。因而在原图中有
两条不同的连接u 与 v 的路,矛盾。
u C’
v G+uv
10/39
(6)G 无圈,添加任一条边可得唯一的圈。
(1)G 是树
需证明G连通。 假设不连通,则存在两个 顶点u 与 v 之间不存在通路,因此增 加uv边不会在G+uv产生圈,矛盾!
凯莱生成树递推计数公式是他在1889年建立的。
24/39
(G )
(G) (G e) (G e)
证明 由于G的每一棵不包含e 的生成树也是 G-e 的生成 树。由此推知 ,τ(G-e) 就是G 的不包含 e 的生成树的棵 数。 类似, τ(G●e) 就是G 的包含 e 的生成树的棵数。从 而知结论成立。
(k 2)nk
14/39
§2.2树的中心和形心
定义1 设 G = (V, E) 是一连通图, v∈V,令 e(v) = max {d(u,v) | u∈V } 则称 e(v)为顶点 v 的离心率;又令 r(G) = min {e(v) | v∈V } 称 r(G) 为图 G 的半径。 比较图的直径与离心率的定义可知,图G 的直径是 G 的最大离心率;e(v) = r(G) 的点 v ,称为 G 的一个 中心点, G 中全体中心点的集合称为G 的中心。

图论 第二章 树(tree)

图论 第二章  树(tree)

定义2.2.2 如果在图G中去掉一个顶点(自然同 时去掉与该顶点相关联的所有边)后图的分 支数增加,则称该顶点为G的割点。
定理2.2.1 当且仅当G的一条边e不包含在G 的 圈中时,e才是割边。
u x
e
v
Hale Waihona Puke yCG推论2.2.1 当且仅当连通图G的每一条边均为 割边时,G才是一棵树。
对割边有下面的等价命题:
推论2.1.3 设G的边数为q,顶点数为p,如果 G无圈且q=p-1,则G是一棵树。
推论2.1.4 在树中至少存在两个度为1的顶点。
关于树有下列的等价命题:
(1)G是一棵树 (2)G的任意两个顶点由唯一道路联结 (3)G是连通的,且q=p-1 (4)G是无圈的,且q=p-1 (5)G无圈,且若G的任意两个不邻接的顶点 联一条边e,则G+e中恰有一个圈。
A directed graph is Eulerian if it is connected and can be decomposed into arc-disjoint directed cycles.
An undirected graph is traversable if it is connected and at most two vertices in the graph are of odd degree
条包含G的所有边的闭链; ❖ (4)两个欧拉图的环和仍是欧拉图。
理定3.1.2和推论3.1.1反映了图的一 个重要性质,即图的连绘性。一个连 绘的图是指这个图可以用一笔画成而 没有重复的笔划。换句话说就是在这 个图中存在一条能过每条边的链。
3.3 哈密顿图
1856 年 hamilton 周游世界的游戏,十 二面体,有20个顶点,三十条边,十二 个面

生成树协议详解

⽣成树协议详解⽣成树协议详解⽣成树协议是由Sun微系统公司著名⼯程师拉迪亚?珀尔曼博⼠(Radia Perlman)发明的。

⽹桥使⽤珀尔曼博⼠发明的这种⽅法能够达到2层路由的理想境界:冗余和⽆环路运⾏。

你可以把⽣成树协议设想为⼀个各⽹桥设备记在⼼⾥的⽤于进⾏优化和容错发送数据的过程的树型结构。

我们要介绍的这个问题在图1中进⾏了描述。

图1.如果这些交换机不采⽤⽣成树协议并且以这种⽅式连接,每⼀台交换机将⽆限地复制它们收到的第⼀个数据包,直到内存耗尽和系统崩溃为⽌。

在2层,没有任何东西能够阻⽌这种环路的事情发⽣。

在图1中,管理员必须要⼿⼯关闭这个红⾊连接线路才能让这个以太⽹⽹络运⾏。

⽣成树协议在当前可⽤连接有效时关闭⼀个或者更多其它冗余连接,⽽在当前连接出现故障后,再启⽤这些被关闭的冗余连接。

⽣成树协议决定使⽤哪⼀个连接完全取决于⽹络的拓扑结构。

⽣成树协议拓扑结构的思路是,⽹桥能够⾃动发现⼀个没有环路的拓扑结构的⼦⽹,也就是⼀个⽣成树。

⽣成树协议还能够确定有⾜够的连接通向这个⽹络的每⼀个部分。

它将建⽴整个局域⽹的⽣成树。

当⾸次连接⽹桥或者发⽣拓扑结构变化时,⽹桥都将进⾏⽣成树拓扑的重新计算。

当⼀个⽹桥收到某种类型的“设置信息”(⼀种特殊类型的桥接协议数据单元,BPDU)时,⽹桥就开始从头实施⽣成树算法。

这种算法从根⽹桥的选择开始的。

根⽹桥(root bridge)是整个拓扑结构的核⼼,所有的数据实际上都要通过根⽹桥。

顺便提⽰⼀下,有⼿⼯设置根⽹桥时要特别注意。

对于思科设备来⾔其根⽹桥的选择过程暴露出⼀些问题,就是过分简单化。

思科硬件通常使⽤最低的MAC地址,具备这些地址的设备通常是⽹络中最古⽼的设备,因⽽其交换速度常是最慢的,⽽从根⽹桥在⽹络中的位置看,它负荷却最重。

⽣成树构建的下⼀步是让每⼀个⽹桥决定通向根桥的最短路径,这样,各⽹桥就可以知道如何到达这个“中⼼”。

这⼀步会在每个局域⽹进⾏,它选择指定的⽹桥,或者与根桥最接近的⽹桥。

图论课件第二章_树

例如确定社区医院的修建位置就可以建模成求图的中心问题2树的形心概念与性质设u是树t的任意一个顶点树t在顶点u的分支是指包含u作为一个叶点的极大子树其分支数为顶点u的度数
图论及其应用
应用数学学院
1
第二章 树
本章主要内容
一、树的概念与性质
二、生成树
三、最小生成树
2
本次课主要内容
(一)、树的概念与应用 (二)、树的性质 (三)、树的中心与形心
16
2 m ( G ) d ( v ) k 1 kn 2 ( k ) 2 n 1 2 n 2
v V ( G )
所以,有:m (G)>n-1,与G是树矛盾! 例10 设G是森林且恰有2k个奇数顶点,则在G中有k条 边不重合的路P1, P2 ,…, Pk,使得:
v2 e2 e5 v1 v4 e4 e3 e6 v3
e1
7
该问题归结于在图中求所谓的最小生成树问题。或 称为赋权图中的最小连接问题。 例4 化学中的分子结构与树 例如:C4H10的两种同分异构结构图模型为: h h h h h h h h h h h h h h
h h h
h
h
h
8
例5 电网络中独立回路与图的生成树 早在19世纪,图论还没有引起人们关注的时候,物理学 家克希荷夫就已经注意到电路中的独立回路与该电路中的所 谓生成树的关系。即:如果电路是(n, m)图,则独立回路的 个数为m-n+1.并且,生成树添上生成树外的G的一条边,就 可以得到一独立回路。 例6 通信网络中的组播树 在单播模型中,数据包通过网络沿着单一路径从源主机向 目标主机传递,但在组播模型中,组播源向某一组地址传递数 据包,而这一地址却代表一个主机组。为了向所有接收者传 递数据,一般采用组播分布树描述IP组播在网络里经过的路 径。组播分布树有四种基本类型:泛洪法、有源树、有核树 和Steiner树 。

最小生成树算法及应用


最小生成树算法及应用
二、求图的最小生成树算法小结 Prim算法和Kruskal算法 三、应用举例
例2、最优布线问题(wire.???) 学校有n台计算机,为了方便数据传输,现要将它们用数据线连接起来。两台计算机被连接是指它们时 间有数据线连接。由于计算机所处的位置不同,因此不同的两台计算机的连接费用往往是不同的。
算法分析
2、套用最小生成树的经典算法求解
以机器蛇为顶点,以不受屏蔽的通信线路为边构建图,就可以直 接套用最小生成树的经典算法求解。由于几乎每两条机器蛇间都 会有一条边,因此应选用Prim算法。



const maxn=200 ; oo=2000000000;{ 机器蛇数的上限和无穷大} type TPoint=record {坐标} x,y:longint; end; var s,w1,w2:array[1..maxn] of TPoint; { 机器蛇的坐标和屏蔽线的坐标 } n,m,i,j,k:integer; ba:array[1..maxn] of boolean; { 机器蛇的访问标志} d:array[1..maxn] of longint; {d[i]以机器蛇i为头的最短边长} min:longint; ans:double;
题目中要求信息可以在任意两条机器蛇间传递、通讯网 络的总长度要尽可能的短,显然这是一个求图的最小生 成树问题。这道题在构造图的过程中还涉及到一点计算 几何的知识。 1、判断线段相交 两条线段AB、CD,相交的充要条件是:A、B在直线CD 的异侧且C、D在直线AB的异侧。也就是说从AC到AD的 方向与从BC到BD的方向不同,从CA到CB的方向也与从 DA到DB的方向不同。
机器蛇

华为3Com的MSTP原理

作原理
基本概念 端口状态和端口角色 CIST的计算 的计算 MSTI的计算 的计算 其他功能
11
基本概念
Revision level: 0 VLAN mapping: VLAN 2 to Instance 2 VLAN 3 to Instance 3 VLAN others to IST CIST ROOT Region 1 Revision level: 0 VLAN mapping: VLAN 2 to Instance 2 VLAN 4 to Instance 4 VLAN others to IST IST Master Region 2 CST Region 3 IST
Master
MSTI 1
Region Root
23
MSTI 2
其他功能
指定边缘端口(Edge port)
直接连接终端用户的端口 边缘端口具有快速迁移的特性:不需要任何延时直接进入转发状 态
指定根交换机( Root primary )
确保指定的交换机成为根交换机
指定备份根交换机( Root secondary )
根桥保护( Root Protection )
保证根桥不被其它交换机取代 如果具有根桥保护的端口接收到更高优先级的BPDU,该端口将 进入listening 状态,而不再转发数据
环路保护( Loop Protection )
具有环路保护的交换机,当前的根端口和阻塞端口都不会发生变 化,继续维持自己的状态,从而不会形成环路。
基本概念( 基本概念(续)
CST
公共生成树(Common spanning tree)
IST
内部生成树(Internal spanning tree) 内部生成树是多生成树的一个特殊实例( instance ID= 0 )
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第二章树教学安排的说明章节题目:§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 无圈,但增加任一新边,得到且仅得到一个圈。

(5)T 连通,但删去任一边便不连通(2n ≥)。

(6)T 的每一对顶点间有唯一的一条通路(2n ≥)。

证明 (1) ⇒(2)由树的定义可知T 无圈。

下证1m n =-。

对n 进行归纳证明。

当1n =时,0m =,显然1m n =-。

假设n k =时结论成立,现证明1n k =+时结论也成立。

由于树是连通而无圈的,所以至少有一个度数为1的顶点v ,在T 中删去v 及其关联边,便得到k 个顶点的连通无圈图。

由归纳假设它有1k -条边。

再将顶点v 及其关联边加回得到原图T ,所以T 中含有1k +个顶点和k 条边,故结论1m n =-成立。

所以树是无圈且1m n =-的图。

(2) ⇒(3)用反证法。

若T 不连通,设T 有k 个连通分支(2k ≥) 1T ,2T ,,k T ,其顶点数分别是12,,,k n n n ,边数分别为12,,,k m m m ,于是11,k k i i i i n n m m ====∑∑11(1)1k k i i i i m m n n k n ====-=-<-∑∑得出矛盾。

所以T 是连通且1m n =-的图。

(3) ⇒(4)首先证明T 无圈。

对n 作归纳证明。

当1n =时,10m n =-=,显然无圈。

假设顶点数为1n -时无圈,今考察顶点数是n 时的情况。

此时至少有一个顶点v 其度数deg()1v =。

我们删去v 及其关联边得到新图T ',根据归纳假设T '无圈,再加回v 及其关联边又得到图T ,则T 也无圈。

其次,若在连通图T 中增加一条新边(,)i j v v ,则由于T 中由i v 到j v 存在一条通路,故必有一个圈通过i v ,j v 。

若这样的圈有两个,则去掉边(,)i j v v ,T 中仍存在通过i v ,j v 的圈,与T 无圈矛盾。

故加上边(,)i j v v 得到一个且仅一个圈。

(4) ⇒(5)若T 不连通,则存在两个顶点i v 和j v ,在i v 和j v 之间没有路,若加边(,)i j v v 不会产生圈,但这与假设矛盾,故T 是连通的。

又由于T 无圈,所以删去任一边,图便不连通。

(5) ⇒(6)由连通性知,任意两点间有一条路径,于是有一条通路。

若此通路不唯一,则T 中含有圈,删去此圈上任一边,图仍连通,这与假设不符,所以通路是唯一的。

(6) ⇒(1)显然T 连通。

下证T 无圈。

用反证法。

若T 有圈,则圈上任意两点间有两条通路,此与通路的唯一性矛盾。

故T 是连通无圈图,即T 是树。

从以上特征性可以看出,树是“最小的连通图”,少一边便不连通;树又是“最大的无圈图”,多一边便有圈,因而树是以“最经济”的方式把其中各顶点连接起来的图。

推论2.1.4 任何多于一个顶点的树都至少有两片叶。

证明 设T 是一棵(,)n m 树(2n ≥),则1deg()22(1)22n ii v m n n ===-=-∑ (1)若T 中无树叶,则T 中每个顶点的度数2≥,则1deg()2n ii v n =≥∑ (2)若T 中只有一片树叶,则T 中只有一个顶点度数为1,其他顶点度数2≥,所以 1deg()2(1)22n ii v n n =>-=-∑ (3)(2),(3)都与(1)矛盾。

所以T 中至少有两片树叶。

树的特征可见:在顶点数给定的所有图中,树是边数最少的连通图, 也是边数最多的无圈图。

由此可知,在一个(,)n m 图G 中,若1m n <-,则G 是不连通的; 若1m n >-,则G 必定有圈。

例2 设T 是一棵树,它有两个2度顶点,一个3度顶点,三个4度顶点,求T 的树叶数。

解 设树T 有x 片树叶,则T 的顶点数213n x =+++,T 的边数为15m n x =-=+又由12deg()ni i m v ==∑得2(5)223143x x +=⨯+⨯+⨯+所以9x =,即树T 有9片树叶。

§2.2 割边与割点定义2.2.1若无向图,G V E =为连通图,若有点集1V V ⊆,使图G 删除了1V 的所有顶点后,所得到的子图是非连通图,而删除了1V 的任何真子集后所得到的子图仍是连通图,则称1V 是G 的一个割集(Vertex Cutset )。

若某一个顶点构成一个割集,则称该顶点为割点(Cut Vertex )。

如图2,{b ,d },{c },{e}都是割集,顶点c 和顶点e 都是割点。

虽然删除顶点a 和c 图成为不连通的,但因{c }是{a ,c }的真子集,所以{a ,c }不是割集。

图2定义2.2.2 若无向图,G V E =为连通图,若有边集1E E ⊆,使图G 删除了1E 的所有边后,所得到的子图是非连通图,而删除了1E 的任何真子集后所得到的子图仍是连通图,则称1E 是G 的一个边割集(Edge Cutest)。

若某一条边构成一个边割集,则称该边为割边(Cut Edge)或桥(Bridge)。

定理 2.2.1 一个无向连通图G 中的顶点v 是割点的充分必要条件是存在顶点u 和w ,使得连接u 和w 的每条路都经过v 。

证明 充分性:如果连通图G 中存在顶点u 和w ,使得连接u 和w 的每条路都经过v ,则在子图{}G v -中u 和w 必不可达,故v 是割点。

必要性:如果v 是割点,则{}G v -中至少有两个连通分支>=<111,E V G 和>=<222,E V G ,任取1V u ∈,2V w ∈,因为G 连通,故在G 中必有连接u 和w 的路P ,但u 和w 在{}G v -中不可达,因此路P 必通过v ,即u 和w 之间的任意路必经过v 。

定理2.2.2 一个无向连通图G 中的边e 是割边的充分必要条件是存在顶点u 和w ,使得连接u 和w 的每条路都经过e 。

定理 2.2.3 无向连通图G 中的边e 是割边的充分必要条件是e 不包含在图的任何基本圈中。

证明 (,)e x y =是连通图G 的割边当且仅当x 和y 在{}G e -的不同连通分支中,而后者等价于在{}G e -中不存在x 到y 的路,从而等价于e 不包含在图的任何基本圈中。

于是定理得证。

§2.3 树与生成树1.无向图中的生成树定义2.3.1 若无向(连通图) G 的生成子图是一棵树,则称该树是G 的生成树或支撑树(Spanning Tree),记为T 。

生成树T 中的边称为树枝。

图G 中其他边称为T 的连枝。

所有这些连枝的集合称为T 的补。

例如,图3中()b 、()c 所示的树1T 、2T 是图()a 的生成树,而()d 所示的树3T 不是图()a 的生成树。

()f 、()g 所示的树是图()e 的生成树。

一般的,一个图的生成树不唯一。

图3考虑生成树1T ,可知1234,,,e e e e 是1T 的树枝,567,,e e e 是1T 的连枝,集合567{,,}e e e 是1T 的补。

生成树有其一定的实际意义。

例3 某地要兴建5个工厂,拟修筑道路连接这5处。

经勘测其道路可依如图3()a 的无向边铺设。

为使这5处都有道路相通,问至少要铺几条路?解:这实际上是求G 的生成树的边数问题。

一般情况下,设连通图G 有n 个顶点,m 条边。

由树的性质知,T 有n 个顶点,n -1条树枝,1m n -+条连枝。

在图3()a 中,5n =,则1514n -=-=,所以至少要修4条路才行。

由图3可见,要在一个连通图G 中找到一棵生成树,只要不断地从G 的圈上删去一条边,最后所得无圈的子图就是G 的一棵生成树。

于是有以下定理。

定理2.3.1任一连通图G 都至少有一棵生成树。

证 若G 无圈,则G 本身为一树。

若G 有圈。

则删去圈上任一边e ,G –e 仍连通。

对G –e 重复上述讨论,直到得到G 的无圈的连通子图——生成树。

定理2.3.2 无向图G 有生成树的充分必要条件是G 为连通图。

证明 先采用反证法来证明必要性。

若G 不连通,则它的任何生成子图也不连通,因此不可能有生成树,与G 有生成树矛盾,故G 是连通图。

再证充分性。

设G 连通,则G 必有连通的生成子图,令T 是G 的含有边数最少的生成子图,于是T 中必无圈(否则删去圈上的一条边不影响连通性,与T 含边数最少矛盾),故T 是一棵树,即生成树。

生成树的求法求一个连通图的生成树有一个简单算法,这个算法就是在一个连通图中破掉所有的圈,剩下不含圈的连通图就是原图一个生成树,这个算法叫做“破圈法”. 也可以用下面的算法来构造连通图的生成树.在图G 中任意取一条边1e ,找一条不与1e 构成圈的边2e ,然后再找一条不与{1e ,2e }构成圈的边3e ,这样继续下去,直到这种过程不能进行,这时所得到的图G 就是一个生成树.这种算法我们称之为“避圈法”.2.无向赋权图中的最小生成树在实际工作中,有很多问题的可行解方案都可以通过一个赋权有向图表示,例如:物流渠道的设计、物资运输路线的安排、装卸设备的更新、排水管道的铺设等、所以赋权图被广泛应用于解决工程技术及科学管理等领域的最优化问题。

相关文档
最新文档