图论讲义第2章-连通性

合集下载

图论讲义-图的基本概念

图论讲义-图的基本概念

有向图(Digraph)、无向图(Undigraph)
若边e对应的无序点对为u,v,则记e=(u,v)或<u,v>,
其中点u与v均称为边e的端点。 若e=<u,v>,则<u,v>表示从u到v的一条弧(Arc),且 称u为弧尾(Tail)或初点(Initial node),称v为弧头 (Head)或终点(Terminal node),此时的图称为有 向图(Digraph)。
v1
5
v4
v1
v4
e1 v2
e2 e3
e4
v3
v2
v3
上两例中,同一条边的两个端点称为相邻;若两条边有一个共同的端点,则这
两条边也称为相邻;若点u是边e的端点,则称u与e相关联。称两个端点相同的 边为环,不与任何边相关联的点称为孤立点。若图中n条不同的边e1,e2,…,en, (n≥2)中的每一条边的两个端点均为u和v,则这些边称为n重边,简称为重边。 不是重边的边称为单边。图中顶点的个数称为该图的阶。 例3、对例1所示的图,点v1与v2相邻,v1与v3不相邻;边e1与e2相邻,e1与e4 不相邻;点v1与边e1相关联。边e5为环。边e2与e3为二重边。这是一个4阶图。 例2中v4是孤立点。
六、路与图的连通性
v1 v2 v5
图G中,取Γ1=v1v2v3,
v3
v4
G
Γ2=v1v2v3v4v2, Γ3=v1v2v3v2v3v4 则 Γ1,Γ2,Γ3依次为长为2,4,5的 通路,其中Γ1与Γ2为简单通路, Γ1为基本通路。 由定义可看出,G中v1v2v5v1为 长为3的圈,v1v2v3v4v2v5v1为 长为6的简单回路。
对于有向图G,如果略去G中各个有向边的方向后所得

(4-2)图的连通性

(4-2)图的连通性

(3)
(4)
(5)
(6)
(7)
欧拉图
设G=<V,E>是连通无向图 欧拉通路:在图G中存在一条通路,经过图G 中每条边一次且仅一次。 欧拉回路:在图G中存在一条回路,经过图 G中每条边一次且仅一次。(能一笔画) 欧拉图:具有欧拉回路的图。
欧拉图的判定定理
定理7-4 无向图G=<V,E>具有欧拉回路,即是 欧拉图的充分必要条件是这个图是连通的,并且 图G中所有结点的度数都是偶数,即都与偶数条 边相连。 定理7-5 无向图G=<V,E>具有欧拉通路的充分 必要条件是图G是连通的,并且图G中恰有两个度 数是奇数的结点或者没有度数是奇数的结点。
v1
e6
e1
v5
e5
e7 e4
v2
e2
v4
e3
v3
通路和回路 给定图G V , E
通路: G中前后相互关联的点边交替序列 w=v0e1v1e2…envn称为连接v0到vn的通路。 W中边的数目K称为通路W的长。 回路:在点边序列v0e1v1e2…envn中,当 v0=vn时称此通路为回路。
图1
图2
哈密尔顿图
设G=<V,E>是连通无向图 图G中存在一条经过图中的每个结点一次且仅
一次的通(回)路,称此通路为哈密顿通(回)路
哈密顿图:具有哈密尔顿回路的图。
目前还没有找到连通无向图具有哈密顿通(回)
路的充分必要条件。
?
课堂思考题:
学习了欧拉图、哈密尔顿图,请总 结他们的区别。
哈密尔顿回路与欧拉回路的区别
连通
连通、一笔
案例3
周游世界问题
1856年,英国数学家哈 密尔顿设计了一个周游世界的 游戏,他在一个正十二面体的 二十个顶点上标上二十个著名 城市的名字,要求游戏者从一 个城市出发,经过每一个城市 一次且仅一次,然后回到出发 点。

图论知识点

图论知识点

图论知识点摘要:图论是数学的一个分支,它研究图的性质和应用。

图由节点(或顶点)和连接这些节点的边组成。

本文将概述图论的基本概念、类型、算法以及在各种领域的应用。

1. 基本概念1.1 节点和边图由一组节点(V)和一组边(E)组成,每条边连接两个节点。

边可以是有向的(指向一个方向)或无向的(双向连接)。

1.2 路径和环路径是节点的序列,其中每对连续节点由边连接。

环是一条起点和终点相同的路径。

1.3 度数节点的度数是与该节点相连的边的数量。

对于有向图,分为入度和出度。

1.4 子图子图是原图的一部分,包含原图的一些节点和连接这些节点的边。

2. 图的类型2.1 无向图和有向图无向图的边没有方向,有向图的每条边都有一个方向。

2.2 简单图和多重图简单图是没有多重边或自环的图。

多重图中,可以有多条边连接同一对节点。

2.3 连通图和非连通图在无向图中,如果从任意节点都可以到达其他所有节点,则称该图为连通的。

有向图的连通性称为强连通性。

2.4 树树是一种特殊的连通图,其中任意两个节点之间有且仅有一条路径。

3. 图的算法3.1 最短路径算法如Dijkstra算法和Bellman-Ford算法,用于在加权图中找到从单个源点到所有其他节点的最短路径。

3.2 最大流最小割定理Ford-Fulkerson算法用于解决网络流中的最大流问题。

3.3 匹配问题如匈牙利算法,用于解决二分图中的匹配问题。

4. 应用4.1 网络科学图论在网络科学中有广泛应用,如社交网络分析、互联网结构研究等。

4.2 运筹学在运筹学中,图论用于解决物流、交通网络优化等问题。

4.3 生物信息学在生物信息学中,图论用于分析蛋白质相互作用网络、基因调控网络等。

5. 结论图论是数学中一个非常重要和广泛应用的领域。

它不仅在理论上有着深刻的内涵,而且在实际应用中也发挥着关键作用。

随着科技的发展,图论在新的领域中的应用将会不断涌现。

本文提供了图论的基础知识点,包括概念、图的类型、算法和应用。

08%20图的连通性-讲义pdf

08%20图的连通性-讲义pdf

目录
• 通路与回路 • 无向图的连通性与连通度 • 有向图的连通性及其分类
6
有向图的连通性
• 设D=<V,E>为有向图。vi,vj∈V,若从vi到vj存在通路,则 称vi可达vj,规定vi总是可达自身的。若vi可达vj且vj可达 vi,则称vi与vj是相互可达的。 • 设D=<V,E>为有向图,vi,vj∈V,若vi可达vj,称vi到vj长度 最短的通路为vi到vj的短程线,短程线的长度为vi到vj的距 离,记作d<vi,vj>。 • 与无向图中顶点vi与vj之间的距离d(vi,vj)相比,d<vi,vj>除 无对称性外,具有d(vi,vj)所具有的一切性质。
强连通图与单向连通图的判别
• 定理1:设有向图D=<V,E>,V={v1,v2,…,vn}。D 是强连通图当且仅当D中存在经过每个顶点至少 一次的回路。 • 定理2:设D是n阶有向图,D是单向连通图当且仅 当D中存在经过每个顶点至少一次的通路。
• 由定义可知,强连通图一定是单向连通图,单向 连通图一定是弱连通图。
oj
四、删除边(集)和顶点(集)
• 设G=<V,E>为无向图。设v∈V,从G中去 掉v及所关联地一切边称为删除顶点v,并 用G-v表示删除v后所得子图。又设V'⊆V, 称从G中删除V'中所有顶点为删除V',并用 G-V'表示所得子图。
G-e5
G-{e1,e4}
3
G-e5
G-{e1,e4}
G-v5
G-{v4,v5}
• 求下面各图的点连通度、边连通度,并将它们按 点连通程度及边连通程度排序。
• κ1=λ1=4, κ2=λ2=3, κ3=λ3=2, κ4=λ4=1, κ5=1,λ5=2, κ6=λ6=2, κ7=λ7=0, κ8=λ8=0

连通性

连通性

P u Q w P' v
u
P x P' Q w v u
P Q x w
P' v
(1)P’与P∪Q不相交,P’及P+(w,v)即为所求。 (2)P’与P∪Q相交,x是距v点最近的P’与P∪Q的交点,x在P 上。于是连接u,v有两条不相交通路,一条是P上的(u,x)一节 及P’上的(x,v)一节组成,一条是Q+(w,v)
练习
设G是一个2-连通图,又设X和Y是V(G)的不相 交子集,而且每个子集至少含有两个顶点。 证明:G含有不相交的通路P和Q使得: (1)P和Q起点均属于X; (2)P和Q的终点均属于Y; (3)P和Q的内部顶点不属于X∪Y。
证:由G加上一点x,仅和X中一切点相连,再加上一点y, 仅和Y和一切点相连,所得之图记为G*。由假设|X|≥2, |Y|≥2,故易直接验证G*仍为2-连通图。对x,y在G*中应 用定理3.5,我们得到两条起点为x、终点为y、内部不相 交的路P*、Q*。由x出发沿P*走向y的过程中,P*中最 后一个属于X的顶点记为x1,然后再由x1继续沿P*前进, 到达第一个属于Y的顶点记为y1,令P*中一段(x1, y1)-路 记为P。 类似地在Q*中可以找到一条(x2, y2)-路Q,其中x2∈X, y2∈Y。由P*、Q*的内部不相交,推知P、Q不相交。故 P、Q路即为所求。
κ(G) ≤λ(G) ≤δ(G)常严格成立,例如下图
练习
试作出一个连通图G,使之满足等式κ(G) =λ(G) =δ(G) 任何长度大于3的圈,都有κ(G) =λ(G) =δ(G)=2 完全图Kn中,有κ(G) =λ(G) =δ(G)=n-1
引理3.2 若δ(G)≥[n/2],则G连通。 证 若G不连通,因为δ(G)≥[n/2],所以每个 连通分支至少有[n/2]+1个顶点,即[(n+2)/2]个 顶点,但[(n+2)/2]≥(n+1)/2,于是G至少有 (n+1)个顶点,矛盾。

有向图的连通性

有向图的连通性
1 +2 (6 ?)xVi^93 =
推论11.2
有向图G是单侧连通图当且仅当G中存在经过每个顶点至少一次的通路。
推论11.3
简单有向图中的每个结点和每条边恰好位于一个弱分图中。
小结
理解有向图的连通性、单侧连通、强连通和弱连通及它们的性质。关于有向图的连 通性 的思维形式注记图如下图所示。
至少有一个结点
1 11. 3有向图的连通性
定义1L5
设G二<V, E>是有向图,巧,Vj V如果从H到Vj存在一条有向路径,则称vt到Vj 可达,记为 Vj T V"
规定:Vi/e K 匕t Vj.
单侧连通:在有向图G=<V, E〉中,若对于任意结点偶对,至少有一个结点到另一 个结点
是可达的。
强连通:在有向图G二<V, E>中,若对于任意结点偶对都是相互可达的。
-小结
图 回路 路径 存在路
无向图
有向图
可±
扩大路径法
k(G)公(G)
割点 点连通度、边连通度
割边

1 强连通 虽分图' 弱连

1 通 弱分图 单侧连通「单


侧分图

ቤተ መጻሕፍቲ ባይዱ
定理11.5
在有向图G = <V, E〉中,它的每一个结点位于且仅位于一个强分图内。
e 证:(1 )设v V,令S是G中所有与v相互可达的结点的集合,当然S也包括v,而S 与顶
点在S中的边集构成的G'是G中的一个强分图,因此G中的每一个结点必位于-个强分图 中。 (2)设v位于两个不同的强分图Gi和G2中,因为Gi中的每一个结点与v可达,而v 与G2中的每一个结点也相互可达,Gi中的每一个结点与G2中的每一个结点通过v都 相 互可达,这与题设Gi为强分图矛盾,故G的每一个结点只能位于一个强分图中。

图论讲义1图路树

图论讲义1图路树
这便证明了 G 是一个二部图。 证毕。
7. 连通性 图中两点的连通:如果在图 G 中 u,v 两点有路相通,则称顶点 u,v 在图 G 中连通。 连通图(connected graph):图 G 中任二顶点都连通。 图的连通分支(connected branch, component):若图 G 的顶点集 V(G)可划分为若干非空子集
这便定义出一个图。
2. 图的图示
通常,图的顶点可用平面上的一个点来表示,边可用平面上的线段来表示(直的或曲的)。 这样画出的平面图形称为图的图示。
例如,例 1.1.1 中图的一个图示为
v1
v2
e1
e6 e5
e2
e4
v5
e7
v3
e3 v4
注:(1)由于表示顶点的平面点的位置的任意性,同一个图可以画出形状迥异的很多图示。
3
(8) 完全图(complete graph)
(9) 图的顶点数(图的阶)ν 、边数 ε
(10) 顶点 v 的度(degree):d(v) = 顶点 v 所关联的边的数目(环边计两次)。
(11) 图 G 的最大度: ∆(G) = max{dG (v) | v ∈V (G)}
图 G 的最小度:δ (G) = min{dG (v) | v ∈V (G)}
证明:按每个顶点的度来计数边,每条边恰数了两次。 推论 1.1.1 任何图中,奇度顶点的个数总是偶数(包括 0)。 4. 子图
子图(subgraph):如果V (H ) ⊆ V (G) 且 E(H ) ⊆ E(G) ,则称图 H 是 G 的子图,记为 H ⊆G。
生成子图(spanning subgraph): 若 H 是 G 的子图且V (H ) = V (G) ,则称 H 是 G 的生成子图。

图论-图的基本概念

图论-图的基本概念
若 i, j 中有奇数,比如 i 是奇数,则路 P 上 v0 到 vi 的一段与边 v0vi 构成一个偶圈; 若 i, j 都是偶数,则路 P 上 vi 到 v j 的一段与边 v0vi 及 v0v j 构成一个偶圈。证毕。 例 1.1.4 设 G 是简单图,若δ (G) ≥ 3 ,则 G 中各个圈长的最大公因数是 1 或 2。 证明:由上例知,G 中有长分别为 i + 1, j + 1和 j − i + 2 的圈。若 i + 1, j + 1, j − i + 2 三 数有公因数 m > 2 ,则 m | ( j − i) ,于是 m | 2 ,这是不可能的。因此 i + 1, j + 1, j − i + 2
证明:按每个顶点的度来计数边,每条边恰数了两次。 推论 1.1.1 任何图中,奇度顶点的个数总是偶数(包括 0)。 4. 子图
子图(subgraph):如果 V (H ) ⊆ V (G) 且 E(H ) ⊆ E(G) ,则称图 H 是 G 的子图,记为 H ⊆G。
生成子图(spanning subgraph): 若 H 是 G 的子图且V (H ) = V (G) ,则称 H 是 G 的生成子图。
这便定义出一个图。
2. 图的图示
通常,图的顶点可用平面上的一个点来表示,边可用平面上的线段来表示(直的或曲的)。 这样画出的平面图形称为图的图示。
例如,例 1.1.1 中图的一个图示为
v1
v2
e1
e6 e5
e2
e4
v5
e7
v3
e3 v4
注:(1)由于表示顶点的平面点的位置的任意性,同一个图可以画出形状迥异的很多图示。

离散数学课件14.2-3通路与回路-连通性

离散数学课件14.2-3通路与回路-连通性

connected graph
边割集
若存在边集子集E' E, 使G删除E'(将E'中的边从G中全删除)后, 所得子图的连通分支数与G的连通分支数 满足p(G-E')>p(G), 而删除E'的任何真子集E''后,p(G-E'')=p(G), 则称E'是G的一个边割集. 若边割集中只有一条边e,则称e为割边或桥. 注:完全图没有割边和割点.
当v0=vl时,此通路称为回路.
connected graph
简单通路或迹
若Γ中的所有边e1,e2,···,el互不相同, 则称Γ为简单通路或一条迹. 若回路中的所有边互不相同,称此回 路为简单回路或一条闭迹.
connected graph
初级通路
若通路的所有顶点v0,v1···,vl互不相 同(从而所有边互不相同),则称此通 路为初级通路或一条路径. 若回路中,除v0=vl外,其余顶点各不 相同,所有边也各不相同,则称此回 路为初级回路或圈. 长度为奇(偶)数的圈称为奇(偶)圈
通路
connected graph
给定图G=<V,E>.
设G中顶点和边的交替序列为
Γ=v0e1v1e2…elvl,若Γ满足如下条件: vi-1和vi是ei的端点(在G是有向图时,要求vi-1是ei 的始点,vi是ei的终点),i=1,2,…,l,则称Γ为顶点v0 到vl的通路. v0和vl分别称为此通路的起点和终点,Γ中边的数 目l称为Γ的长度.
connected graph
有向图的连通性
易见:强连通性 单向连通性 弱连通性; 但反之 不真.反例如下:
a
c
a
强连通
d

离散数学图论路与连通PPT课件

离散数学图论路与连通PPT课件
第18页/共26页
7.2.3 图的连通度
定义7-2.4 设无向图G =<V,E>是连通图,若有结点集V1V,使图 G中删除了 V1的所有结点后,所得到的子图是不连通图,而删除了V1的任何真子集后,所
得到的子图仍是连通图,则称V1是G的一个点割集(cut-set of nodes) 。
k(G)=min{|V1|| 是G的点割集} 称为图G的点连通度(nodeconnectivity) 。
现对G的每一条边e=(u1,u2),若u1,u2都在 V1上 ,则存 在两条 路P1与P2分别 连接u与 u1和u与u2, 且P1、 P2的长 度均为 偶数, 闭路P1∪P2∪ {e}的 长度为 奇数, 则不难 看出G中 有一条 长为奇 数的圈 ,矛盾 。同样 u1和u2不能同 时含在 V2中。 故e的 两个端 点分别 在V1和 V2中。 因此G是二分 图。
G 定理7.2.1 非平凡图 是二分图当且仅当 中不含长为奇数的回路。
G
证明 必要性是明显的。
充分性:不妨设G中每一对顶点之间有路连接(否则
只需考虑G的每个每一对顶点之间有路连接的极大子
图)。任取G的一个顶点u,由G的假设,对G的每个顶
点v,在G中存在u-v路。现利用u对G的顶点进行分类。

第24页/共26页
3 v1e1v2e5v5e6v4e4v2e5v5e7v6
…………
初级通路 简单通路 复杂通路
7.2.1 路
例1、(2)
图(2)中过 v2 的回路 (从 v2 到 v2 )有:
第7页/共26页
1 v2e4v4e3v3e2v2
长度3
2 v2e5v5e6v4e3v3e2v2
长度4
3 v2e4v4e3v3e2v2e5v5e6v4e3v3e2v2 长度7

图论II 图的基本概念

图论II 图的基本概念

单向连通
弱连通
定理(强连通判别法) D强连通当且仅当D中存在经 过每个顶点至少一次的回路 定理(单向连通判别法) D单向连通当且仅当 D中存 在经过每个顶点至少一次的路
13
1.3 带权图、最短路径、图着色

带权图与最短路径 图着色问题
14
最短路径
带权图G=<V,E,w>, 其中w:ER. eE, w(e)称作e的权. 若e=(vi,vj), 记w(e)=wij . 若vi,vj不相邻, 记wij =. 路L的权: L的所有边的权之和, 记作w(L). u和v之间的最短路径: u和v之间权最小的路.
按通畅性要求由高到低: 通路 > 迹 > 路
按可能的复杂或曲折程度由高到低:路 > 迹 >通路
2
路与回路

试分别画出:
一条通路 一条非通路的迹 一条非迹的路 从中直观感受一下路、迹和通路对通畅程度的
不同要求
路与回路实例
4
路与回路(续)
说明: 表示方法 ① 用顶点和边的交替序列(定义), 如=v0e1v1e2…elvl ② 用边的序列, 如=e1e2…el ③ 简单图中, 用顶点的序列, 如=v0v1…vl ④ 非简单图中,可用混合表示法,如=v0v1e2v2e5v3v4v5 环是长度为1的圈, 两条平行边构成长度为2的圈. 在无向简单图中, 所有圈的长度3; 在有向简单图 中, 所有圈的长度2.
1.2 路、回路、图的连通性
路,通路,迹 无向图的连通性
无向连通图, 连通分支
有向连通图
弱连通图, 单向连通图, 强连通图
点割集与割点 边割集与割边(桥)
1
路与回路

图论_连通_连通分量

图论_连通_连通分量

图论_连通_连通分量 强连通图 : 强连通分量就是本⾝ 有向图 ---> ⾮强连通图 : 多个强连通分量图---> 连通图 : 连通分量就是本⾝ ⽆向图 ---> ⾮连通图 : 多个连通分量路径 : 顾名思义.路径长度 : 路径上边的数量.路径 : 顾名思义.路径长度 : 路径上边的数量.连通 : ⽆向图顶点A可以到顶点B,则称A,B连通.强连通 : 有向图中,两个顶点间⾄少存在⼀条互相可达路径,则两个顶点强连通连通图 : 图中任意两点都连通的图.强连通图 : 有向图的任意两点都强连通.连通分量 : ⽆向图的极⼤连通⼦图称为连通分量.连通图只有⼀个连通分量,即⾃⾝强连通分量: 强连通图有向图的极⼤强连通⼦图.强连通图的强连通分量只有⼀个,即强连通图本⾝.基图 : 将有向图的所有边替换成⽆向边形成的图.弱连通图 : 基图是连通图的有向图.(即,连通的有向图)求图的连通分量的⽬的,是为了确定从图中的⼀个顶点是否能到达图中的另⼀个顶点,也就是说,图中任意两个顶点之间是否有路径可达。

求强连通分量有多种算法.我⽤的Tarjan算法. 复杂度O(V+E)这两个博客写得不错:https:///reddest/p/5932153.htmlhttps:///shadowland/p/5872257.htmlint dfn[16]; // 时间戳int dfn_num = 0; // 时间int low[16]; // 节点u所能访问到的最⼩时间戳int inSt[16]; // 节点u是否在栈中.int st[16];int top = 0;// 我们维护的信息.int col[16]; // 给节点染⾊, 同⼀个连通块的节点应该是同⼀个颜⾊的.int col_num = 0; // 颜⾊值.int size[16]; // 每个颜⾊值所拥有的块数./*第⼀步: 访问当前节点的所有⼦节点: ⼦节点有三种第⼀种: 未访问过的, 我们对它进⾏访问, 同时设置它的时间戳dfn[u]和low[u]为++ndfn_num,以及进栈.第⼆种: 访问过的,并且在栈中,我们直接更新我们当前节点的low[] --> 注意应该⽤low[u] 和 dfn[v]⽐较.第三种: 访问过的,并且不在栈中的, 我们直接跳过.因为这个时候,所以它已经染⾊了,属于⼀个连通块了.第⼆步: 如果dfn[u] == low[u] 说明已经找到⼀个连通块了.这时候我们要将栈顶元素弹出,直到当前节点. 记得也要修改inSt, 同时维护我们需要的信息.*/void Tarjan(int u) {int v, i;dfn[u] = low[u] = ++dfn_num; //添加时间戳.st[++top] = u; // 进栈inSt[u] = true; // 标⽰在栈for (i=head[u]; i; i=edge[i].lst) {v = edge[i].to;if (!dfn[v]) {Tarjan(v);low[u] = min(low[u], low[v]);} else if (inSt[v]) {low[u] = min(low[u], dfn[v]);}}if (dfn[u] == low[u]) {col_num++;do {inSt[st[top]] = false;col[st[top]] = col_num;size[col_num]++;} while (st[top--] != u);}}View Code加上2个板⼦题./problem/1332/题⽬很简单: 要你求出最⼤的强连通块,如果有多个则输出字典序最⼩的⼀个.#include <cstdio>#include <cstring>#include <algorithm>using namespace std;const int maxn = 5e4+500;struct Edge {int lst;int to;}edge[maxn<<1];int head[maxn];int qsz = 1;inline void add(int u, int v) {edge[qsz].lst = head[u];edge[qsz].to = v;head[u] = qsz++;}int dfn[maxn]; // 时间戳int dfn_num = 0; // 时间int low[maxn]; // 节点u所能访问到的最⼩时间戳int inSt[maxn]; // 节点u是否在栈中.int st[maxn];int top = 0;// 我们维护的信息.int col[maxn]; // 给节点染⾊, 同⼀个连通块的节点应该是同⼀个颜⾊的.int col_num = 0; // 颜⾊值.int size[maxn]; // 每个颜⾊值所拥有的块数.int id[maxn];void Tarjan(int u) {int v, i;dfn[u] = low[u] = ++dfn_num; //添加时间戳.st[++top] = u; // 进栈inSt[u] = true; // 标⽰在栈for (i=head[u]; i; i=edge[i].lst) {v = edge[i].to;if (!dfn[v]) {Tarjan(v);low[u] = min(low[u], low[v]);} else if (inSt[v]) {low[u] = min(low[u], dfn[v]);}}if (dfn[u] == low[u]) {col_num++;id[col_num] = u;do {inSt[st[top]] = false;col[st[top]] = col_num;size[col_num]++;id[col_num] = min(id[col_num], st[top]);} while (st[top--] != u);}}int main(){memset(id, 0x3f, sizeof(id));int n, i, u, v, m, t;scanf("%d%d", &n, &m);for (i=1; i<=m; ++i) {scanf("%d%d%d", &u, &v, &t);add(u, v);if (t==2) add(v, u);}for (i=1; i<=n; ++i)if (!dfn[i]) Tarjan(i);int mm = 0, tcol = -1;for (i=1; i<=col_num; ++i)if (mm < size[i]) {mm = size[i];tcol = i;} else if (m == size[i]) {if (id[tcol] > id[i])tcol = i;}// printf("%d \n", tcol);printf("%d\n", mm);for (i=1; i<=n; ++i)if (col[i] == tcol) printf("%d ", i);printf("\n");return0;}View Codehttps:///problem/HYSBZ-1051题⽬: 求出所有⽜都欢迎的⽜的个数. 我们可以把所有连通块求出,然后把⼀个连通块看成⼀个点,即缩点. 然后找到出度为零的点(连通块), 如果有且只有⼀个,那么连通块的点数就是答案,否则答案为零.#include <cstdio>#include <algorithm>using namespace std;struct Edge {int lst;int to;}edge[50500];int head[10100];int qsz = 1;inline void add(int u, int v) {edge[qsz].lst = head[u];edge[qsz].to = v;head[u] = qsz++;}int dfn[10100]; // 时间戳int dfn_num = 0; // 时间int low[10100]; // 节点u所能访问到的最⼩时间戳int inSt[10100]; // 节点u是否在栈中.int st[10100];int top = 0;// 我们维护的信息.int col[10100]; // 给节点染⾊, 同⼀个连通块的节点应该是同⼀个颜⾊的.int col_num = 0; // 颜⾊值.int size[10100]; // 每个颜⾊值所拥有的块数./*第⼀步: 访问当前节点的所有⼦节点: ⼦节点有三种第⼀种: 未访问过的, 我们对它进⾏访问, 同时设置它的时间戳dfn[u]和low[u]为++ndfn_num,以及进栈.第⼆种: 访问过的,并且在栈中,我们直接更新我们当前节点的low[] --> 注意应该⽤low[u] 和 dfn[v]⽐较. 第三种: 访问过的,并且不在栈中的, 我们直接跳过.因为这个时候,所以它已经染⾊了,属于⼀个连通块了. 第⼆步: 如果dfn[u] == low[u] 说明已经找到⼀个连通块了.这时候我们要将栈顶元素弹出,直到当前节点. 记得也要修改inSt, 同时维护我们需要的信息.*/void Tarjan(int u) {int v, i;dfn[u] = low[u] = ++dfn_num; //添加时间戳.st[++top] = u; // 进栈inSt[u] = true; // 标⽰在栈for (i=head[u]; i; i=edge[i].lst) {v = edge[i].to;if (!dfn[v]) {Tarjan(v);low[u] = min(low[u], low[v]);} else if (inSt[v]) {low[u] = min(low[u], dfn[v]);}}if (dfn[u] == low[u]) {col_num++;do {inSt[st[top]] = false;col[st[top]] = col_num;size[col_num]++;} while (st[top--] != u);}}bool ou[10010];int main(){// freopen("E:\\input.txt", "r", stdin);int n, i, j, u, v, m;scanf("%d%d", &n, &m);for (i=1; i<=m; ++i) {scanf("%d%d", &u, &v);add(u, v);}for (i=1; i<=n; ++i)if (!dfn[i])Tarjan(i);// 缩点操作int cnt = 0, res = 0;for (i=1; i<=n; ++i) {if (ou[col[i]]) continue;for (j=head[i]; j; j=edge[j].lst) {v = edge[j].to;if (col[i] != col[v]) {ou[col[i]] = true;break;}}}for (i=1; i<=col_num; ++i) {if (!ou[i]) {res = size[i];cnt++;}if (cnt > 1) {res = 0;break;}}printf("%d\n", res);return0;}View Code。

图论-二部图、连通性

图论-二部图、连通性

二部图定义:图),(E V G =称为二部图(bipartite graph),如果V 是两个互不相交的集合21,V V 的开集,且1V 和2V 中的顶点互不相邻. 这样的二部图也常称为),(21V V -二部图.定义:图G 的匹配是由G 中没有公共顶点构成的集合,与匹配M 中的边关联的顶点称为是被M -浸润的(saturated by M),其余的顶点称为未被M -浸润的(M-unsaturated). 图G 的一个完美匹配(perfect matching)是浸润的所有顶点的匹配. 图G 的边数最多的匹配称为一个最大匹配(maximum matching).例如在上图中,粗边给出了一个匹配1M ,显然两条细边给出了一个最大匹配2M . 定义:设M 是图G 的一个匹配. 如果路径P 的边交替出现在M 和不出现在M 中,则称P 是一条M -交错路径(M-alternating path). 两个顶点都未被M -浸润的交错路径称为M -增广路径(M-augmenting path).在上例中存在1M -增广路径,2M 是最大匹配,而不存在2M -增广路径,这不是偶然的. 因为可以让(留作习题):图G 的一个匹配M 是最大匹配⇔G 中无M -增广路径. 定义:图G 的一个顶点覆盖(covering)是一些顶点构成的集合)(G V ⊆κ,使得G 的任何一边都有一个顶点含于κ. 一个顶点覆盖κ称为最小顶点覆盖,是指不存在覆盖'κ,使得κκ<'.设κ是G 的一个顶点覆盖,M 是G 的一个匹配,显然M ≥κ. 我们关心对于最大匹配的最小顶点覆盖来说,等式是否成立. 在图1(a)中,等式成立,而图1(b)中最小顶点覆盖大小为3,而最大匹配大小为2. 注意图1(a)为二部图,图1(b)为有5条边的圈,从而不是二部图(可以一个图G 是二部图⇔G 中不含奇数边的图,证明留作习题).对于二部图,我们有下面一般的结论:定理:设G 是),(Y X -二部图,则G 的最大匹配的大小等于G 的最小顶点覆盖的大小(könig 1931).证明:设M 是G 的最大匹配,而Q 是M 的最小顶点覆盖,要证Q M =. 显然M Q ≥,故只需证明存在G 的M 个顶点的覆盖(则Q M ≥),对于M 中每一条边,如果存在未被M -浸润的X 中顶点出发的交错路径可达这条边,则选择此边在Y 中的顶点;否则选择此边在X 中的顶点,这样就选了M 个顶点,记为U .设E xy ⊂,Y y X x ∈∈,,只需证明x 或U y ∈,或M xy ∈,则由U 的定义得证.下证之:设M xy ∉. 又由M 是最大匹配,故M y x ∈∃11(其中Y y X x ∈∈11,)且1x x =或1y y =. 若1y y =(此时M x ∉),由于xy 是M -交错路径,故U y ∈.下设1x x =,如果U x ∉,则U y ∈1,由U 的定义:某条交错路径可达1y . 则存在交错路径'P 可达y ;或Py (若P x ∈1);或y x Py 11. 这样就出现了M -增广路径,与M 是最大匹配矛盾,故U x ∈.对于),(Y X -二部图,若存在一个浸润X 的匹配,则显然X ⊆∀κ,至少在Y 中存在κ个顶点与κ中的顶点相邻. 我们用)(κN 表示与κ中顶点相邻的顶点构成的集合,下面的定理说明“κκκ≥⊆∀)(,N X ”这个显然的必要条件也是充分的定理(1935):),(Y X -二部图中存在浸润X 的匹配⇔κκκ≥⊆∀)(,N X .证明:“⇐”由könig 定理,只需证明对每个顶点覆盖z ,有X z ≥. 令X z X s ⋂-=,则s 的点都不在X 中,因此)(s N 中的点都在z 中(由顶点覆盖定义),故X s X z s N X z z =+⋂≥+⋂≥)(,证毕.图的连通性因为连通与否与图是否含环无关,故本小节假定所有图都不含环,且1)(>G n .定义1:图G 的一个点割(vertex cut)是一个集合)(G V S ⊆,使得S G -的连通分量多于一个G 的连通度(connectivity),)(G κ是使得S G -不连通或只有一个顶点的顶点集合S 大小的最小值. 如果G 的连通度最少是κ,则称G 是κ-连通的(κ-connected).由定义,显然可知:①连通图都是1-连通的;②G 是不连通的⇔G 的连通度为0;③顶点数大于2的图的连通度为1⇔它是连通的且有一个割点.若图G 的连通度为κ,则κδ≥)(G ,故G 中至少有⎥⎥⎤⎢⎢⎡2n κ条边(见习题1). 我们关心是否可以给出n 个顶点的κ-连通图且有⎥⎥⎤⎢⎢⎡2n κ条边(即下界是否可以取到).习题1给出了肯定的回答.定义2:图G 中的边割(edge cut)是一顶点在S 中,一顶点在S G V -)(中的G 中所有边构成的集合,记为],[S S ()(G V S ⊆). 若使得],[S S G -不连通的],[S S 边数最小值为κ,则称G 是κ-边连通的,κ称为G 的边连通度,记为)('G κ.在下图G 中粗线标出的边割是G 的最小边割,因此2)('=G κ,G 是2-边连通的. 图G 中还标出了一个只含一个顶点的点割,故G 是1-连通的.定理3(Whitney 1932):设G 是简单图,则)()(')(G G G δκκ≤≤.证明:设)}(:)(min{)(G V x x d v d ∈=,即)()(G v d δ=,则与v 关联的所有边构成一个边割,故)()('G G δκ≤,下证)(')(G G κκ≤.显然1)()(-≤G n G κ,设],[S S 为G 的最小边割,若S 中的顶点与S 中的顶点都邻接,则)(1)(],[G G n S S S S κ≥-≥=,命题得证. 下设存在S y S x ∈∈,.则y x ,不相邻,构造集合T :T 包含S 中x 的相邻顶点;T 包含{x}-S 中的所有与S 中顶点有相邻顶点的顶点(或}{{)}(:{x S v E V xv S v T -∈⋃∈∈=:存在S u ∈使得)}(E vu ∀∈). 因为每条y x ,路径都通过T ,因此T 是一个点割,故)(G T κ≥. 在],[S S 中选T 条边:T v ∈∀,若S v ∈,则选边xv ;若}{x S v -∈,则任意选取一条边],[S S vu ∈,这样选取的T 条边都是不同的,因此[])(,)('G T S S G κκ≥≥=下面给出2-连通图的特征.定理4(Whitney 1932):图)3)((≥G n G 是2-连通的⇔)(,G V v u ∈∀,在G 中存在内部不相交的(internally-disjoint)v u ,-路径(即两条路径没有公共的内顶点).证明:“⇐”删除一个顶点不能使一对任意顶点不可达,故G 是2-连通的.“⇒”对),(v u d 用数学归纳法证明.1),(=v u d ,uv G -是连通的(因为2)()('=≥G G κκ).uv G -中的v u ,-路径与边uv 构成了内部不相交的两条v u ,-路径.假设-),(κ≤v u d .令w 是某条最短u ,-路径上的前一顶点,则1. 由归纳假设,G 有内部不相交w u ,路径Q P ,. 若)()(Q V P V v ⋃∈,则在圈Q P ⋃上可以找两条内部不相交路径. 若)()(Q V P V v ⋃∉,由于G 是2-连通的,故w G -连通,所以w G -中含有一条v u ,-路径R . 若R 不含P 或Q 的内部顶点,则完成了证明. 如若不然,不妨设R 与P 的内部顶点相交,设z 是这些交点中在P 上与v 最近的一个顶点,则P 上的z u ,-路径合并R 上的v z .-路径就得到一条与wv Q ⋃内部不相交路径练习中给出2-连通图的其它特征. 定理4可以推广到一般的κ-连通图.证明较繁,我们这里略去,有兴趣的读者可参见D.B. West,Introduction to Graph Theory,2nd 2001.或J.A. Bondy,U.S.R. Murty,Graph Theory with Applications,1976.习题.1.图G 的连通度为κ且n G =,则G 至少有⎥⎥⎤⎢⎢⎡2n κ条边. 2.证明下图中4)(=G κ,从而满足⎥⎥⎤⎢⎢⎡=2)(n G E κ3.设3)(≥G V ,则G 是2-连通的⇔G 是连通的且G 无割点 ⇔)(,G V y x ∈∀,存在经过y x ,的环 ⇔1)(>G δ且G 的每一对边均位于一个公共环上。

图论及其应用第2章

图论及其应用第2章

W (T ) W (T ) w(ek ) w(ek )
在克鲁斯克尔算法中选出的边ek,是使 它也是无圈的。于是得到:
(4.1)
Ge1 , e2 ,, ek 为无
圈图的权最小的边。由于 Ge1 , e2 ,, ek 1 , ek 是 G 的子图,
w(ek ) w(ek )
Thank you!
证明 这是定理1和定义2的直接结果。
例 设树T 有ni 个度为i 的点,2≦i≦k(k>1),其余点均为 叶,求T 中叶点的数目。 解 设 T 有x 片树叶,则T的点数为: x+n2+n3+…+nk 故T的边数为: x+n2+n3+…+nk-1 又由握手定理得: x+2n2+3n3+…+ knk = 2(x+n2+n3+…+nk-1) 解得 x 为: x n1 2 n3 2n4 (k 2)nk
图和它的生成森林
定理5
连通图的生成树必存在。
证明 给定连通图G,若G 无圈,则G就是自己的生 成树。若G有圈,则任取G中一个圈C,记删去C中 一条边后所得之图为H1。显然在H1中,圈C 已不存 在,但仍连通。 若H1中还有圈,重复以上过程,直至得到一个无 圈的连通图H。H 便是 G 的生成树。 定理5的证明方法也是求生成树的一种方法,称 为“破圈法”。
(G) (G e) (G e)
其中 (G ) 表G的生成树的棵数.
凯莱(Cayley 1821—1895): 剑桥大学数学教授,著名代数学家,发 表论文数仅次于 Erdos ,Euler, Cauchy. 著名成果是1854年定义了抽象 群,并且得到著名定理:任意一个群都和一个变换群同构。同时, 他也是一名出色的律师,作律师14年期间,发表200多篇数学论文, 著名定理也是在该期间发表的。

图论讲义第2章-连通性

图论讲义第2章-连通性

第二章 图的连通性在第一章中已经定义连通图是任二顶点间都有路相连的图。

对于连通图,其连通的程度也有高有低。

例如,下列三个图都是连通图。

对于图G 1,删除一条边或一个顶点便可使其变得不连通;而对于图G 2,至少需要删除两条边才能使其不连通,也可以删除一个顶点使其不连通;对于图G 3,要破坏其连通性,则至少需要删除三条边或三个顶点。

本章主要讨论如何通过图的顶点集、边集和不交的路集合的结构性质来获知图的连通性程度。

通过研究割边和割点来刻画1连通图的特性;定义连通度和边连通度来度量连通图连通程度的高低;通过不交路结构和元素的共圈性质来反映图的2连通和k 连通性。

§2.1 割点和割边定义2.1.1 设)(G V v ∈,如果)()(G w v G w >−,则称v 为G 的一个割点。

(注:该定义与某些著作中的定义有所不同,主要是在环边的顶点是否算作割点上有区别)。

例如,下图中u , v 两点是其割点。

定理2.1.1 如果点v 是简单图G 的一个割点,则边集E (G)可划分为两个非空子集1E 和2E ,使得][1E G 和][2E G 恰好有一个公共顶点v 。

证明留作习题。

推论2.1.1 对连通图G ,顶点v 是G 的割点当且仅当v G −不连通。

定理2.1.2 设v 是树T 的顶点,则v 是T 的割点当且仅当1)(>v d 。

证明:必要性:设v 是T 的割点,下面用反证法证明1)(>v d 。

若0)(=v d ,则1K T ≅,显然v 不是割点。

若1)(=v d ,则v T −是有1)(−−v T ν条边的无圈图,故是树。

从而)(1)(T w v T w ==−。

因此v 不是割点。

以上均与条件矛盾。

充分性:设1)(>v d ,则v 至少有两个邻点u ,w 。

路uvw 是T 中一条),(w u 路。

因T 是树,uvw 是T 中唯一的),(w u 路,从而)(1)(T w v T w =>−。

离散数学14.2 通路、回路 + 14.3 图的连通性

离散数学14.2 通路、回路 + 14.3 图的连通性
13
定义14.15(短程线)设u,v为无向图G中任意两个 顶点,若uv,称u,v之间长度最短的通路为u,v之 间的短程线,短程线的长度称为u,v之间的距离,记 作d(u,v)。当u,v不连通时,规定d(u,v)=∞。
例如:在完全图Kn(n2)中,任何两个顶点之间 的距离都是1;
而在零图Nn(n2)中,任何两个顶点之间的距离 都是∞。
5
例14.4 无向完全图Kn(n3)中有几种非同构的圈? 解:
长度相同的圈都是同构的, 因而只有长度不同的圈才是非同构的。 易知Kn(n3)中含长度为3,4,…,n的圈, 所以Kn(n3)中有n-2种非同构的圈。
6
例14.5无向完全图K3的顶点依次标定为a,b,c。在 同构意义下和定义意义下K3中各有多少个不同的圈。
K3,3
22
例:
K3,3
K2,3
23
例:
定理14.10(二部图的判别定理) 一个无向图G是 二部图当且仅当G中无奇圈。
24
19
例:如下图
(1)Leabharlann (2)(1)是强连通图 (2)是单向连通图 (3)是弱连通图。
(3)
20
强连通图和单向连通图的判别定理
定理14.8 有向图D是强连通图当且仅当D中存在经 过每个顶点至少一次的回路。
定理14.9 有向图D是单向连通图当且仅当D中存在 经过每个顶点至少一次的通路。
(1)
(2)
图(1)存在经过每个顶点的回路,所以是强连通图 图(2)存在经过每个顶点的通路,所以是单向连通图
18
定义14.22(弱、单向、强连通图) 在一个有向图D=<V,E>中,如果D的基图是连通图,
则称D是弱连通图。 如果对于任意的两个顶点u,v,u→v与v→u至少

图论 (2)

图论 (2)
2013-7-10 143-7
电子科技大学离散数学课程组——国家精品课程
例9.2.12
求右图中所有结点的度数、出度 和入度,指出悬挂结点和为悬挂 边。 解 deg(v1) = 1,deg+(v
1)
v1 v4 v2
1)
v5
=
0,deg-(v
= 1
v3
deg(v2) = 4,deg+(v2) = 3,deg-(v2) = 1
2013-7-10
143-22
电子科技大学离散数学课程组——国家精品课程
例9.3.1
判 断 下 图 G1 中 的 回 路 v3e5v4e7v1e4v3e3v2e1v1e4v3 、 v3e3v2e2v2e1v1e4v3 、v3e3v2e1v1e4v3 是否是简单回路、 基本回路?图G2 中的通路v1e1v2e6v5e7v3e2v2e6 v5e8v4 、 v1e5v5e7v3e2v2e6v5e8v4 、 v1e1v2e6v5e7v3e3v4 是否是简单通路、基本通路?并求其长度。
对于同构,形象地说,若图的结点可以任意挪 动位置,而边是完全弹性的,只要在不拉断的条件 下,一个图可以变形为另一个图,那么这两个图是 同构的。
2013-7-10 143-15
电子科技大学离散数学课程组——国家精品课程
两个图同构的必要条件
(1)结点数目相同;
(2)边数相同;
(3)度数相同的结点数相同。
9.3.1 通路与回路
通路与回路是图论中两个重要的基本概念。本 小节所述定义一般来说既适合有向图,也适合无向 图,否则,将加以说明或分开定义。
2013-7-10
143-20
电子科技大学离散数学课程组——国家精品课程

《图论》第2章 基本概念(1)

《图论》第2章 基本概念(1)
2.1 图的概念
[有向图] 设V是一个非空有限集,A是V上的二元关
系。二元组 G=(V,A) 称为(有向)图,V 中元素
称为顶点,A 中元素称为弧(有向边)。
关系A的关系图就是图G的图解。
[自环] A中的自反性图解为环形,称为自环。
[多重边] 在表达实际问题的图解中可能出现重复的
关系定义,称为多重边。
平凡图是任何图的子图。(零图无类似结论)
3
2.1 图的概念
[生成子图] G=(V, A)是 G=(V, A) 的一个子图且 V = V ,则称 G 是 G 的一个生成子图或支撑子图。
[极大子图] G=(V, A)是 G=(V, A) 的一个子图,若对
u,vV, <u,v>A 必有 <u,v>A,则称G 是G的一
S=(a1,a2,…,an,…),即存在一个正整数,使对任何
正整数 n,都有an+= an。S 的一个 k 阶子式 Si 定义 为k 元组 Si = (ai, ai+1,…, ai+k1)。具有最大的周期 使得 S1, S2, … , S 各不相同的 S 序列称为 k 阶 De Bruijn 序列。
记为 (a1, a2, a3, …, ak1) 的点v,引入两条外向弧分
别与点 (a2, a3, …, ak1, 0) 和点 (a2, a3, …, ak1, 1) 邻 接,并将上述的弧分别标记为 k 位的 (a1, a2, a3, …, ak1 , 0) 和 (a1, a2, a3, …, ak1 , 1) 。显然点 v 同时也 被点 (1, a1, a2, …, ak2) 和点 (0, a1, a2,…, ak2) 分别
(即以4除n余0或余1)

图论 第二章 树

图论 第二章 树

9 10 9 10 8 4
10
10
8 7 10 图 2-3
定理6 每一棵树有一个由一个点或两个邻接的点组成的 形心。(证明留作习题 )
19/39
§2.3生成树
定义1 若图 G 的生成子图T是树,则称T为G 的生成 树;若T为森林,称它是G的生成森林。生成树的边称 为树枝,G 中非生成树的边称为弦。
(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 的中心。
8/39
(4)G 连通,且 n = m+1。
(5)G 无圈,且 n= m+1。
证明:假设G 中存在一个圈,则去掉圈中的一条边会去掉这 个圈,而不改变顶点个数和图的连通性。重复这个过程,将 图中的所有圈去掉,则得到一颗树,因此 n < m+1,矛盾。
(5)G 无圈,且 n= m+1。 (6)G 无圈,添加任一条边可得唯一的圈。
15/39
例1 在下图所示的树中,图中每个顶点处标出的数字为 该点的离心率。 图中的顶点u为该树的中心,该树的半径 r(G) = 4, 直径d(G) = 8。在该图中,树的中心是点u。
8 8 8 5 5 6 7 8 6
6 5 5
7
6
u
4 6
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第二章 图的连通性在第一章中已经定义连通图是任二顶点间都有路相连的图。

对于连通图,其连通的程度也有高有低。

例如,下列三个图都是连通图。

对于图G 1,删除一条边或一个顶点便可使其变得不连通;而对于图G 2,至少需要删除两条边才能使其不连通,也可以删除一个顶点使其不连通;对于图G 3,要破坏其连通性,则至少需要删除三条边或三个顶点。

本章主要讨论如何通过图的顶点集、边集和不交的路集合的结构性质来获知图的连通性程度。

通过研究割边和割点来刻画1连通图的特性;定义连通度和边连通度来度量连通图连通程度的高低;通过不交路结构和元素的共圈性质来反映图的2连通和k 连通性。

§2.1 割点和割边定义2.1.1 设)(G V v ∈,如果)()(G w v G w >−,则称v 为G 的一个割点。

(注:该定义与某些著作中的定义有所不同,主要是在环边的顶点是否算作割点上有区别)。

例如,下图中u , v 两点是其割点。

定理2.1.1 如果点v 是简单图G 的一个割点,则边集E (G)可划分为两个非空子集1E 和2E ,使得][1E G 和][2E G 恰好有一个公共顶点v 。

证明留作习题。

推论2.1.1 对连通图G ,顶点v 是G 的割点当且仅当v G −不连通。

定理2.1.2 设v 是树T 的顶点,则v 是T 的割点当且仅当1)(>v d 。

证明:必要性:设v 是T 的割点,下面用反证法证明1)(>v d 。

若0)(=v d ,则1K T ≅,显然v 不是割点。

若1)(=v d ,则v T −是有1)(−−v T ν条边的无圈图,故是树。

从而)(1)(T w v T w ==−。

因此v 不是割点。

以上均与条件矛盾。

充分性:设1)(>v d ,则v 至少有两个邻点u ,w 。

路uvw 是T 中一条),(w u 路。

因T 是树,uvw 是T 中唯一的),(w u 路,从而)(1)(T w v T w =>−。

故v 是割点。

证毕。

推论2.1.2 每个非平凡无环连通图至少有两个顶点不是割点。

证明:设T 是G 的生成树,则T 至少有两个叶子u ,v ,由上一定理知,u ,v 都不是T 的割点,即1)()(==−T w u T w 。

由于u T −是图u G −的生成树,故)(1)()()(G w T w u T w u G w ===−=−,因此u 不是G 的割点。

同理v 也不是G 的割点。

证毕。

定理2.1.3 设v 是连通图G 的一个顶点,则下列命题等价: (1) v 是G 的割点;(2) 存在)(,G V w u ∈,使得v w u ≠,且v 在每条),(w u 路上;(3) 存在}{\)(v G V 的一个划分:}{\)(v G V W U ∪=,φ=W U ∩,使得对Uu ∈∀和W w ∈∀,v 在每条),(w u 路上。

证明:(1)⇒(3)因v 是割点,故v G −至少有两个连通分支1G 、2G 。

令)(1G V U =而}){)((\)(1v G V G V W ∪=,则对U u ∈∀和W w ∈∀,u 、w 分别属于v G −的不同的连通分支。

可见G 中所有的),(w u 路必经过v (否则v G −中仍有),(w u 路,这与u 、w 分别属于v G −的不同的连通分支矛盾)。

(3)⇒(2)显然。

(2)⇒(1)若v 在每条),(w u 路上,则v G −中不存在),(w u 路,即v G −不连通,故v 是G 的割点。

证毕。

定义2.1.2 设)(G E e ∈,如果)()(G w e G w >−,则称e 为G 的一条割边。

例如下图中,边uv ,边wu 都是其割边。

定理2.1.4 边e 是G 的割边当且仅当e 不在G 的任何圈中。

证明:证其逆否命题:e 不是割边当且仅当e 含在G 的某个圈中。

必要性:设e = xy 不是割边。

假定e 位于G 的某个连通分支1G 中,则e G −1仍连通。

故在e G −1中有),(y x 路P ,P + e 便构成1G 中一个含有e 的圈。

充分性:设e 含在G 的某个圈C 中,而C 含于某连通分支1G 中,则e G −1仍连通。

故)()(G w e G w =−,这说明e 不是割边。

证毕。

定理2.1.5 一个连通图是树当且仅当它的每条边都是割边。

证明:连通图G 是树⇔G 无圈⇔任何边e 不含在圈中⇔任何边e 是G 的割边。

证毕。

定理2.1.6 设e 是连通图G 的一条边,则下列命题等价: (1) e 是G 的割边; (2) e 不在G 的任何圈上;(3) 存在)(,G V v u ∈,使得e 在每条),(v u 路上;(4) 存在)(G V 的一个划分:)(G V W U ∪=,φ=W U ∩,使得对U u ∈∀和W w ∈∀,e 在每条),(w u 路上。

证明:(1)⇔(2)定理2.1.4已证。

(1)⇒(4)⇒(3)⇒(1)的证明与定理2.1.3的证明类似。

§2.2连通度和边连通度定义2.2.1 对图G ,若V(G)的子集V ′使得)()(G w V G w >′−,则称V ′为图G 的一个顶点割集。

含有k 个顶点的顶点割集称为k -顶点割集。

注:(1)割点是1-顶点割集。

(2)完全图没有顶点割集。

定义2.2.2图G 的连通度定义为()min{|||G V V κ′′=是连通图G 的顶点割集}。

特别地,完全图的连通度定义为1)(−=νκνK , 空图的连通度定义为0, 不连通图的连通度定义为0。

注:(1) 若G 是平凡图,则0)(=G κ。

(2) 使得)(||G V κ=′的顶点割集V ′称为G 的最小顶点割集。

(3) 若k G ≥)(κ,则称G 为k 连通的。

(4) 按上述定义,图G 是k 连通的,当且仅当G 的最小点割集至少含k 个顶点,当且仅当G 中没有k −1点割集,当且仅当从G 中任意去掉k −1个顶点后,所剩图仍连通。

(5) 按照k 连通的定义,若图G 是k 连通的,则它也是k −1连通、k −2连通、 (1)通的。

因此,所有非平凡连通图都是1连通的。

定义2.2.3对图G ,若E(G)的子集E ′使得)()(G w E G w >′−,则称E ′为图G 的一个边割集。

含有k 条边的边割集称为k -边割集。

注:(1) 对非平凡图G ,若E ′是一个边割集,则E G ′\不连通。

(2) 一条割边构成一个1-边割集。

(3) 设)(G V S ⊂,)(G V S ⊂′,φ≠′S S ,,记号],[S S ′表示一端在S 中另一端在S ′中的所有边的集合。

对图G 的每个边割集E ′,必存在非空的)(G V S ⊂,使得],[S S 是G 的一个边割集,其中S V S \=。

定义2.2.4图G 的边连通度定义为()min{|||G E E κ′′′=是连通图G 的边割集}。

完全图的边连通度定义为1)(−=′νκνK ,空图的边连通度定义为0,不连通图的边连通度定义为0。

注:(1) 对平凡图G ,0)(=′G κ。

(2) 是含有割边的连通图,则1)(=′G κ。

(3) 使得)(||G E κ′=′的边割集E ′称为G 的最小边割集。

(4) 若k G ≥′)(κ,则称G 为k 边连通的。

(5) 按上述定义,图G 是k 边连通的,当且仅当G 的最小边割集至少含k 条边,当且仅当G 中没有k −1边割集,当且仅当从G 中任意去掉k −1条边后,所剩图仍连通。

(6) 按照k 边连通的定义,若图G 是k 边连通的,则它也是k −1边连通、k −2边连通、…、1边连通的。

因此,所有非平凡连通图都是1边连通的。

例如,下列图中,G 1是连通的且有割点和割边,因此是1连通的和1边连通的;G 2的最小点割集含1个点,最小边割集含2条边,故它是1连通的和2边连通的;G 3的最小点割集和最小边割集分别含2个点和2条边,因此是2连通的和2边连通的;G 4的最小点割集和最小边割集分别含3个点和3条边,因此是3连通的和3边连通的。

定理2.2.1)()()(G G G δκκ≤′≤。

证明:先证)()(G G κκ′≤。

对图的边连通度()G κ′作数学归纳法。

对()G κ′=1的图G ,若2G K =,则显然()11G κυ′=−=;若2G K ≠,则G 至少含三个点。

设e = uv 是G 的一条割边,则u 或v 必是割点,故()G κ=1。

总之,此时()G κ=()G κ′=1。

假设对所有k κ′=的图,都有κκ′≤,则对()1G k κ′=+的图G ,设E 是它的一个1k +边割集。

任取边()e uv E G =∈,则E e −是G e −的最小边割集,故()G e k κ′−=。

由归纳假设,()()G e G e κκ′−≤−。

取G e −的最小点割集T ,则||()()T G e G e k κκ′=−≤−=,且{}T u ∪构成G 的最小点割集。

故()|{}|||11()G T u T k G κκ′=≤+≤+=∪。

归纳完成。

再证)()(G G δκ≤′。

设δ=)(v d 。

删去与v 关联的δ条边后,G 变成不连通图,故这δ条边构成G 的一个边割集。

因此)()(G G δκ≤′。

证毕。

下图G 1是一个2,3κκ′==和4δ=的图,G 2是一个1,2κκ′==和3δ=的图。

G 2G3G 1G 2定理2.2.2 对具有υ个顶点ε条边的连通图G ,有2()G εκν⎢⎥≤⎢⎥⎣⎦。

证明:因()2()v V G d v εδυ∈=≥∑,故2εδυ≤,由定理2.2.1,2εκδυ≤≤。

由于κ是整数,因此2εκν⎢⎥≤⎢⎥⎣⎦。

证毕。

定理2.2.3 设G 是一个简单图,k 是一个自然数,若2()2k G υδ+−≥,则G 是k 连通的。

证明:用反证法。

假如G 不是k 连通的,则G 的连通度k κ<,即存在G 的点割集S ,使得||S k <,且G −S 不连通。

因G −S 有|S |υ−个顶点,且至少有两个连通分支,故必有G −S 的某个连通分支G ′含有不超过|S |2υ−个顶点。

注意到G ′中任一个顶点只可能与G ′内的点及S 中的点相邻,因而其在G 中的顶点度|||S |21||22S S υυ−+−≤−+=。

结合||S k <,这意味着(G)δ≤||2222S k υυ+−+−<,与定理条件矛盾。

证毕。

推论2.2.1设G 是一个简单图,若1()2G υδ−≥,则G 是连通的。

定理2.2.4 设G 是一个直径为2的简单图,则(G)(G)κδ′=。

证明:设S 是G 的一个最小边割集,则G −S 有多于一个连通分支,取其中顶点数最少的一个记为G 1,G −S 的其余部分记为G 2。

相关文档
最新文档