图论之二部图图形解析
第8章-图论

第8章 图论
定义8.2―2 :路径P中所含边的条数称为路径P的
长度。长度为0的路径定义为单独一个顶点。(但注意习惯上 不定义长度为0的回路。) 定义8.2―3:在图G=〈V,E〉中,从结点vi到vj最短路径的 长度叫从vi到vj的距离,记为d(vi,vj)。若从vi到vj不存在路径,则 d(vi,vj)=∞。 注意,在有向图中,d(vi,vj)不一定等于d(vj,vi),但一般地满足 以下性质: (1) d(vi,vj)≥0; (2) d(vi,vi)=0; (3) d(vi,vj)+d(vj,vk)≥d(vi,vk)。
个图是混合图。
我们仅讨论有向图和无向图,且V(G)和E(G)限于有限集合。
第8章 图论
图 8.1―2
第8章 图论
【约定】:用〈a,b〉表示有向边,(a,b)表示无向边, 既表示有向边又表示无向边时用[a,b]。 于是,图8.1―1中的G和图8.1―2中的G′可分别简记为 G=〈V,E〉=〈{a,b,c,d},{(a,b),(a,c),(b,d),(b,c),(d,c),(a,d),(b,b)}〉
边的方向)和边的重数;
则这两个图是同构的,两个同构的图除了顶点和边的名称不 同外实际上代表同样的组合结构。
第8章 图论
例8.1-2
(1) 图8.1―6所示的(a)、(b)两图是同构的。因为可 作映射:g(1)=v3,g(2)=v1,g(3)=v4,g(4)=v2。在这映射下,边 〈1,3〉,〈1,2〉,〈2,4〉和〈3,4〉分别映射到〈v3,v4〉, 〈v3,v1〉,〈v1,v2〉和〈v4,v2〉,而后面这些边又是(b)中 仅有的边。
在V上的函数,g是定义在E上的函数。
第8章 图论
图 8.1―4
二部图与完全二部图精讲

哈密尔顿图
与欧拉回路类似的是哈密尔顿回路问题。 它是1859年哈密尔顿首先提出的一个关于 12面体的数学游戏: 能否在下页图中找到 一个回路,使它含有图中所有结点一次且 仅一次? 若把每个结点看成一座城市,连 接两个结点的边看成是交通线,那么这个 问题就变成能否找到一条旅行路线,使得 沿着该旅行路线经过每座城市恰好一次, 再回到原来的出发地呢?为此,这个问题 也被称作周游世界问题。
(1) G中无圈, 则G必有一个度数为1的顶点v, 删除v及它关 联的边, 记作G . G 连通, 有n-1个顶点, k条边和r个面. 由归 纳假设, (n-1)-k+r=2, 即n-(k+1)+r=2, 得证m=k+1时结论成立.
(2) 否则,删除一个圈上的一条边,记作G . G 连通, 有n个顶 点,k条边和r-1个面. 由归纳假设, n-k+(r-1)=2, 即n-(k+1)+r=2, 得证m=k+1时结论也成立. 证毕.
但我们继续考察(b)图可以发现, 该图中有一条路 v2v3v4v5v2v1v5, 它经过(b)图中的每条边一次且仅
一次, 我们把这样的路称为欧拉路。
7
定义2 通过图G的每条边一次且仅一次的 路称为图G的欧拉路。 对于欧拉路有下面
的判定方法。
定理2 连通图G具有一条连接结点vi和vj的 欧拉路当且仅当vi和vj是G中仅有的两个奇
s=|V2|.
注意: n 阶零图为二部图.
2
二部图的判别法
定理 无向图G=<V,E>是二部图当且仅当G中无奇圈 例 下述各图都是二部图
3
欧拉图
历史上的哥尼斯堡七桥问题是著名的图论问题。 问题是这样的: 18世纪的东普鲁士有个哥尼斯堡
二部图与完全二部图课堂PPT

由题意,对每个结点vi,有 deg(vi)=2(i∈N5)。
则对任两点vi, vj(i, j∈N5)均有 deg(vi)+deg(vj)=2+2=4=5-1
可知此图一定有一条哈密尔顿路,本题有解。
22
23
数度结点。
7
我国民间很早就流传一种“一笔画” 游戏。 由定理1和定理2知, 有两种情 况可以一笔画。
1) 如果图中所有结点是偶数度结点, 则可以任选一点作为始点一笔画完;
2) 如果图中只有两个奇度结点, 则 可以选择其中一个奇度结点作为始点也 可一笔画完。
8
【例】下图是一幢房子的平面图形, 前门进 入一个客厅, 由客厅通向4个房间。 如果要 求每扇门只能进出一次, 现在你由前门进去, 能否通过所有的门走遍所有的房间和客厅, 然后从后门走出。
中每边一次且仅一次的回路, 则该回路为欧拉回路。 具有欧拉回路的图称为欧拉图。
例如, 给出如图3所示的两个图, 容易看出,
(a)是欧拉图, 而(b)不是欧拉图。
5
定理 1 连通图G是欧拉图的充要条件是G的所
有结点的度数都是偶数。
下图中, (a)图的每个结点的度数都为4, 所以它是 欧拉图;(b)图不是欧拉图。
9
解: 将4个房间和一个客厅及前门外和后门外 作为结点, 若两结点有边相连就表示该两结
点所表示的位置有一扇门相通。 由此得图 (b)。
由于图中有4个结点是奇度结点, 故由定理 7.4.2知本题无解。
10
类似于无向图的结论, 对有向图有以下 结果。 定理3 一个连通有向图具有(有向)欧 拉回路的充要条件是图中每个结点的入 度等于出度。 一个连通有向图具有有向 欧拉路的充要条件是最多除两个结点外 的每个结点的入度等于出度, 但在这两 个结点中, 一个结点的入度比出度大1, 另一个结点的入度比出度少1。
二分体 图论

二分体图论
1.定义
二分图,又称二部图,是图论中的一种特殊模型。
设G=(V,E)是一个无向图,如果顶点V可分割为两个互不相交的子集(A,B),并且图中每条边(i,j)所关联的两个顶点i和j分别属于这两个不同的顶点集(i in A,j in B),则称图G是一个二分图。
2.判定
无向图G={V, E},如果可以把结点分成不相交的两部分,即X和Y,使得每条边的其中一个端点在X中,另一个端点在Y中,则称图G 是二分图。
二分图-无奇数图
无向图G为二分图的充分必要条件是,G至少有两个顶点,且其所有回路的长度均为偶数。
3.性质
1.最小点覆盖=最大匹配数
2.最小边覆盖=点数-最小点覆盖(最大匹配数)
3.最小路径覆盖=原图的结点数-新图的最大匹配数。
4.最大独立集=点数-最小点覆盖(最大匹配数)
4.匹配
二分图匹配:给定一个二分图G={V, E},将E的子集M称作一个匹配,如果M中的任意两条边都没有公共端点。
多重匹配:二分图中某些点可以被匹配多次。
最大匹配:包含的边数最多的匹配。
X(Y) -完全匹配:X(Y)中的所有顶点都出现在匹配M中。
完全匹配:所有的点都在匹配边上的匹配(M既是X-完全匹配,又是Y-完全匹配)。
最佳匹配:如果G为加权二分图,则权值和最大的完美匹配称为最佳匹配。
5.相关算法:
二分图最大匹配:匈牙利算法、HK算法、网络流最大流
二分图多重匹配:网络流最大流
二分图最佳匹配:KM算法、网络流最大流。
二分图理论

*7.5 二部图及匹配7.5.1二部图在许多实际问题中常用到二部图,本节先介绍二部图的基本概念和主要结论,然后介绍它的一个重要应用—匹配。
定义7.5.1 若无向图,G V E =的顶点集V 能分成两个子集1V 和2V ,满足(1)12V V V =,12V V φ=;(2)(,)e u v E ∀=∈,均有1u V ∈,2v V ∈。
则称G 为二部图或偶图(Bipartite Graph 或Bigraph),1V 和2V 称为互补顶点子集,常记为12,,G V V E =。
如果1V 中每个顶点都与2V 中所有顶点邻接,则称G 为完全二部图或完全偶图(Complete Bipartite Graph),并记为,r s K ,其中12,r V s V ==。
由定义可知,二部图是无自回路的图。
图7-55中,(),(),(),(),()a b c d e 都是二部图,其中(),(),(),()b c d e 是完全二部图1,32,32,43,3,,,K K K K 。
图7-55二部图示例显然,在完全二部图中,r s K 中,顶点数n r s =+,边数m rs =。
一个无向图如果能画成上面的样式,很容易判定它是二部图。
有些图虽然表面上不是上面的样式,但经过改画就能成为上面的样式,仍可判定它是一个二部图,如图7-56中()a 可改画成图()b ,图()c 可改画成图()d 。
可以看出,它们仍是二部图。
图7-56二部图示例定理7.5.1 无向图,G E =为二部图的充分必要条件为G 中所有回路的长度均为偶数。
证明 先证必要性。
设G 是具有互补节点子集1V 和2V 的二部图。
121(,,,,)k v v v v 是G 中任一长度为k 的回路,不妨设11v V ∈,则211m v V +∈,22m v V ∈,所以k 必为偶数,不然,不存在边1(,)k v v 。
再证充分性。
设G 是连通图,否则对G 的每个连通分支进行证明。
算法学习:图论之二分图的最优匹配(KM算法)

二分图的最优匹配(KM算法)KM算法用来解决最大权匹配问题:在一个二分图内,左顶点为X,右顶点为Y,现对于每组左右连接XiYj有权wij,求一种匹配使得所有wij的和最大。
基本原理该算法是通过给每个顶点一个标号(叫做顶标)来把求最大权匹配的问题转化为求完备匹配的问题的。
设顶点Xi的顶标为A[ i ],顶点Yj的顶标为B[ j ],顶点Xi与Yj之间的边权为w[i,j]。
在算法执行过程中的任一时刻,对于任一条边(i,j),A[ i ]+B[j]>=w[i,j]始终成立。
KM算法的正确性基于以下定理:若由二分图中所有满足A[ i ]+B[j]=w[i,j]的边(i,j)构成的子图(称做相等子图)有完备匹配,那么这个完备匹配就是二分图的最大权匹配。
首先解释下什么是完备匹配,所谓的完备匹配就是在二部图中,X点集中的所有点都有对应的匹配或者是Y点集中所有的点都有对应的匹配,则称该匹配为完备匹配。
这个定理是显然的。
因为对于二分图的任意一个匹配,如果它包含于相等子图,那么它的边权和等于所有顶点的顶标和;如果它有的边不包含于相等子图,那么它的边权和小于所有顶点的顶标和。
所以相等子图的完备匹配一定是二分图的最大权匹配。
初始时为了使A[ i ]+B[j]>=w[i,j]恒成立,令A[ i ]为所有与顶点Xi关联的边的最大权,B[j]=0。
如果当前的相等子图没有完备匹配,就按下面的方法修改顶标以使扩大相等子图,直到相等子图具有完备匹配为止。
我们求当前相等子图的完备匹配失败了,是因为对于某个X顶点,我们找不到一条从它出发的交错路。
这时我们获得了一棵交错树,它的叶子结点全部是X顶点。
现在我们把交错树中X顶点的顶标全都减小某个值d,Y顶点的顶标全都增加同一个值d,那么我们会发现:1)两端都在交错树中的边(i,j),A[ i ]+B[j]的值没有变化。
也就是说,它原来属于相等子图,现在仍属于相等子图。
2)两端都不在交错树中的边(i,j),A[ i ]和B[j]都没有变化。
图论及其应用PPT课件

图论及其应用第一章
1.2 图的同构
由前已知,同一个图有不同形状的图示。反过来, 两个不同的图也可以有形状相同的图示。比如:
u2
u3
可见 G1 和 G2 的顶点及边之间都一一对应,且连
接关系完全相同,只是顶点和边的名称不同而已。这
样的两个图称为是同构的(isomorphic)。
-29-
图论及其应用第一章
v1
(i=1,2,3,4,5,6)下是同构的。
x1
y1
v6
y3
x2
v2
x3
y2
v4
v3
-31-v5
图论及其应用第一章 画出所有的阶数不大于4,大小为3的所有非同构 简单图:
-32-
图论及其应用第一章 画出阶数为5大小为3的所有非同构简单图
G1
G2
G3
G4
-33-
图论及其应用第一章
无标号的图 注:判断两个图是否同构目前没有好算法。
图论起源于18世纪的一个游戏----俄罗斯的哥尼斯堡七桥问 题。
(1736年 瑞士数学家欧拉——图论之父)
-2-
图论及其应用第一章
七桥问题
C
A
D
B
包含两个要素:对象(陆 地)及对象间的二元关系 (是否有桥连接)
转化
Euler 1736年
C
A
D
B 图论中讨论的图
问题:是否能从A,B,C,D 转化 中的任一个开始走,通过每 座桥恰好一次再回到起点?
从数学上看,同构的两个图,其顶点间可建立一 一对应,边之间也能建立一一对应,且若一图的两点 间有边,则在另一图中对应的两点间有对应的边。严 格的数学定义如下。
定义: 两个图G = (V (G), E(G)) 与H = (V (H), E(H)) , 如果存在两个一一映射:
图论及其应用

图和子图 图和简单图图 G = (V, E)V ---顶点集,ν---顶点数12ε E ---边集, ε---边数例。
左图中, V={a, b,......,f}, E={p,q, ae, af,......,ce, cf} 注意, 左图仅仅是图G 的几何实现(代表), 它们有无穷多个。
真正的 图G 是上面所给出式子,它与顶点的位置、边的形状等无关。
不过今后对两者将经常不加以区别。
称 边 ad 与顶点 a (及d) 相关联。
也称 顶点 b(及 f) 与边 bf 相关联。
称顶点a 与e 相邻。
称有公共端点的一些边彼此相邻,例如p 与af 。
环(loop ,selfloop ):如边 l 。
棱(link ):如边ae 。
重边:如边p 及边q 。
简单图:(simple graph )无环,无重边 平凡图:仅有一个顶点的图(可有多条环)。
一条边的端点:它的两个顶点。
记号:νε()(),()().G V G G E G ==。
习题1.1.1 若G 为简单图,则εν≤⎛⎝ ⎫⎭⎪2 。
1.1.2 n ( ≥ 4 )个人中,若每4人中一定有一人认识其他3人,则一定有一 人认识其他n-1人。
同构在下图中, 图G 恒等于图H , 记为 G = H ⇔ VG)=V(H), E(G)=E(H)。
图G 同构于图F ⇔ V(G)与V(F), E(G)与E(F)之间 各 存在一一对应关系,且这二对应关系保持关联关系。
记为 G ≅F。
注 往往将同构慨念引伸到非标号图中,以表达两个图在结构上是否相同。
de f G = (V , E )yz w cG =(V , E )w cyz H =(V ’, E ’)’a ’c ’y ’e ’z ’F =(V ’’, E ’’)注 判定两个图是否同构是NP-hard 问题。
完全图(complete graph) Kn空图(empty g.) ⇔ E = ∅ 。
V’ ( ⊆ V) 为独立集 ⇔ V’中任二顶点都互不相邻。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
*7.5 二部图及匹配 7.5.1二部图 在许多实际问题中常用到二部图,本节先介绍二部图的基本概念和主要结论,然后介绍它的一个重要应用—匹配。
定义7.5.1 若无向图,G V E =的顶点集V 能分成两个子集1V 和2V ,满足(1)12V V V =U ,12V V φ=I ;(2)(,)e u v E ∀=∈,均有1u V ∈,2v V ∈。
则称G 为二部图或偶图(Bipartite Graph 或Bigraph),1V 和2V 称为互补顶点子集,常记为12,,G V V E =。
如果1V 中每个顶点都与2V 中所有顶点邻接,则称G 为完全二部图或完全偶图(Complete Bipartite Graph),并记为,r s K ,其中12,r V s V ==。
由定义可知,二部图是无自回路的图。
图7-55中,(),(),(),(),()a b c d e 都是二部图,其中(),(),(),()b c d e 是完全二部图1,32,32,43,3,,,K K K K 。
图7-55二部图示例显然,在完全二部图中,r s K 中,顶点数n r s =+,边数m rs =。
一个无向图如果能画成上面的样式,很容易判定它是二部图。
有些图虽然表面上不是上面的样式,但经过改画就能成为上面的样式,仍可判定它是一个二部图,如图7-56中()a 可改画成图()b ,图()c 可改画成图()d 。
可以看出,它们仍是二部图。
图7-56二部图示例定理7.5.1 无向图,G E =为二部图的充分必要条件为G 中所有回路的长度均为偶数。
证明 先证必要性。
设G 是具有互补节点子集1V 和2V 的二部图。
121(,,,,)k v v v v L 是G 中任一长度为k 的回路,不妨设11v V ∈,则211m v V +∈,22m v V ∈,所以k 必为偶数,不然,不存在边1(,)k v v 。
再证充分性。
设G 是连通图,否则对G 的每个连通分支进行证明。
设,G V E =只含有长度为偶数的回路,定义互补节点子集1V 和2V 如下:任取一个顶点0v V ∈,令10{()(,)}V v v V d v v =∈∧为偶数21V V V =-现在证明1V 中任意两节点间无边存在。
假若存在一条边(,)i j v v E ∈,且1,i j v v V ∈,则由0v 到i v 间的最短路(长度为偶数), 边(,)i j v v 和j v 到0v 间的最短路(长度为偶数)所组成的回路的长度为奇数,与假设矛盾。
同理可证2V 中任意两节点间无边存在。
故G 中的每条边必具有形式(,)i j v v ,其中1i v V ∈,2j v V ∈, 即G 是具有互补节点子集1V 和2V 的一个二部图。
利用定理7.5.1可以很快地判断出图7-57中的()a 、()c 是二部图,而()b 则不是二部图。
图7-57例7.5.1 六名间谍,,,,,a b c d e f 被擒,已知a 懂汉语、法语和日语,b 懂德语、俄语和日语,c 懂英语和法语,d 懂西班牙语,e 懂英语和德语,f 懂俄语和西班牙语,问至少用几个房间监禁他们,能使在一个房间里的人不能直接对话。
解 以六人,,,,,a b c d e f 为顶点,在懂共同语言的人的顶点间连边得图G (如图7-58()a 所示),因为G 中没有奇圈,所以G 是二部图(如图7-58()b 所示),故至少应有两间房间即可。
图7-58 7.5.2 匹配二部图的主要应用是匹配,“匹配”是图论中的一个重要内容,它在所谓“人员分配问题”和“最优分配问题”等运筹学中的问题上有重要的应用。
首先看实际中常碰见的问题:给n 个工作人员安排m 项任务,n 个人用12{,,,}n V x x x =L 表示。
并不是每个工作人员均能胜任所有的任务,一个人只能胜任其中(1)k k ≥个任务,那么如何安排才能做到最大限度地使每项任务都有人做,并使尽可能多的人有工作做?例如,现有12345,,,,x x x x x 五个人,12345,,,,y y y y y 五项工作。
已知1x 能胜任1y 和2y ,2x 能胜任2y 和3y ,3x 能胜任2y 和5y ,4x 能胜任1y 和3y ,5x 能胜任3y 、4y 和5y 。
如何安排才能使每个人都有工作做,且每项工作都有人做?显然,我们只需构造这样的数学模型:以i x 和j y (i ,j =1,2,3,4,5)为顶点,在i x 与其胜任的工作j y 之间连边,得二部图G ,如图7-59所示,然后在G 中找一个边的子集,使得每个顶点只与一条边关联(图中粗线),问题便得以解决了。
这就是所谓匹配问题,下面给出匹配的基本概念和术语。
图7-59匹配问题示意图定义7.5.2 设无向图,G V E =,G 中有边集M ⊆E ,且在M 中任意两条边都没有公共的端点,称边集M 为图G 的一个匹配(Matching)。
M 中一条边的两个端点,叫做在M 下是配对的。
如果G 中不存在匹配1M ,使得1M M >,则称M 为最大匹配(Maximum Matching)。
对于G 的一个匹配M ,若节点v 与M 中的边关联,则称v 是M 饱和的(Saturated),否则称v 是M 不饱和的。
定义7.5.3 设二部图12,,G V V E =,M 是G 的一个匹配。
若1v V ∀∈,v 均是M 饱和的,则称M 是1V 对2V 的完全匹配(简称1V ―完全匹配);若2v V ∀∈,v 均是M 饱和的,则称M 是2V 对1V 的完全匹配(简称2V —完全匹配)。
若M 既是1V ―完全匹配,又是2V ―完全匹配(即图G 的每个顶点都是饱和的),则称M 是完全匹配(Complete Matching)。
显然,完全匹配是最大匹配,但反之不然。
例7.5.2(1)在图7-59中,边集1122354354{(,),(,),(,),(,),(,)}M x y x y x y x y x y =是一个匹配,而且是是一个最大和完全匹配。
(2)在图7-60()a 中,边集1{(1,5),(2,7),(3,9),(4,8)}M =和2{(1,6),(2,7),(3,9)M =,(4,8)}都是图G 的最大匹配,也是1V ―完全匹配,但不是完全匹配。
在图7-60()b 中,边集{(1,4),(2,5),(3,6)}M =是完全匹配。
图7-60为了寻求二部图的最大匹配,下面交替路和可扩路两个概念。
定义7.5.4 设12,,G V V E =是一个二部图,M 是图G 的一个匹配,L 是G 中的一条路,如果L 是由属于M 和不属于M 的边交替出现组成,则称L 为G 的M 交替路(Alternating Path)。
如果交替路L 的始点和终点都是M 不饱和点,则称L 为G 的M 可扩路(M —Extensible Path)。
例如,在图7-60()a 中,对于匹配{(1,6),(2,7),(3,9)}M =,路1:16273L ,2:27394L ,3:5394L ,4:51627394L 都是M 交替路,其中34,L L 的始点和终点都是M 不饱和点,所以这两条路是M 可扩路。
可扩路具有如下性质:可扩路的长度必为奇数,且属于M 的边比不属于M 的边少1条。
如果在一条可扩路中把属于M 中的边从匹配中去掉,把不属于M 中的边添入到匹配中, 则得到新的匹配1M ,1M 的边数比M 多1。
例如,在图7-60()a 中,对于匹配{(1,6),(2,7),(3,9)}M =,4:51627394L 是M 可扩路,将4L 中属于M 中的边(1,6),(2,7),(3,9)从匹配M 中去掉, 把不属于M 中的边(5,1),(6,2),(7,3),(9,4)添入到匹配M 中,则得到新的匹配1{(5,1),(6,2),(7,3),(9,4)}M =,1M 中的边数由M 中的3条增至4条。
如果图中还存在可扩路, 再按上面的步骤做, 所得到的匹配的边数又多1,一直到图G 中不存在可扩路为止。
用此方法可逐步得到较大的匹配,直至得到最大匹配。
这就是下面的定理。
定理7.5.2 在图G 中,M 为最大匹配的充分必要条件是不存在可扩路。
证明 先证必要性。
用反证法。
假设G 中存在一条M 可扩路,则可以得到比M 的边数多1的匹配,与M 为最大匹配矛盾。
所以G 中不存在M 可扩路。
再证充分性。
用反证法。
假设M 不是最大匹配,则存在匹配1M ,使得1M M >。
令21M M M =⊕(⊕为对称差运算),设由2M 导出的G 的子图2[]G M H =,因为M 和1M 都是G 的匹配,所以H 的任意顶点或是只与M (或1M )中的一条边相关联,或是同时与M 的一条边及1M 的一条边相关联,其度数至多为2,于是H 的每个连通分支或者是一个边交错地属于M 与1M 的长度为偶数的回路,或者是边交错地属于M 与1M 的长度为奇数的交错路。
由于1M M >,因而H 中必有一个连通分支P ,它所含的属于1M 的边比属于M 的边多,P 不是回路(因为回路的长度均为偶数),它的起点和终点都是M 不饱和的,也一定是G 中的M 不饱和点,因此在G 中存在关于M 的可扩路,这与假设矛盾。
求一般图的最大匹配过程比较复杂,下面仅讨论如何在二部图中求最大匹配的问题。
设二部图12,,G V V E =,在G 中求最大匹配的关键是寻找可扩路。
通常是先构造G 的一个匹配M ,再看1V 中有没有M 不饱和点。
如果没有,那么M 肯定是最大匹配了;如果有, 我们就从这些点出发找M 可扩路,由M 可扩路做出一个更大的匹配。
寻找M 可扩路的一个有效方法是标记法, 其过程如下:首先在G 中作一个匹配M ,用(*)标记1V 中所有M 不饱和点, 然后交替地进行以下步骤(1)和(2)。
(1)选一个1V 的新标记过的节点,比如i x , 用(i x )标记不通过M 中的边与i x 邻接且未标记过的2V 的所有节点。
对1V 所有新标记过的节点重复这一过程。
(2)选一个2V 的新标记过的节点,比如j y , 用(j y )标记通过M 中的边与j y 邻接且未标记过的1V 的所有节点。
对2V 所有新标记过的节点重复这一过程。
执行以上步骤, 直至标记到一个2V 中的M 不饱和点。
从该节点倒向追踪到标记有(*)的节点,就得到一条M 可扩路。
于是也就得到一个边数为|M |+1的匹配, 再返回(1)。
如果已不可能标记更多的节点,而2V 的所有标记的节点均为M 饱和点,则说明G 中已不存在M 可扩路,这时M 就是最大匹配。
例7.5.3 图7-61()a 是一个二部图, 求其最大匹配。