- 1
- 0
- 约3.52千字
- 约 35页
- 2017-02-06 发布于江苏
- 举报
(lecture)二分匹配及其应用演示文件修改版
ACM程序设计 杭州电子科技大学 刘春英 acm@ 今天, 你开始 了吗? 本周双星(11): 第十二讲 二分图及其应用(Bipartite Graph) 主要内容 什么是二分图 二分图的最大匹配 匈牙利算法 二分图的最小顶点覆盖 DAG图的最小路径覆盖 二分图的最大独立集 处理技巧 什么是二分图? 如果一个图的顶点可以分为两个集合X和Y,图的所有边一定是有一个顶点属于集合X,另一个顶点属于集合Y,则称该图为“二分图”( Bipartite Graph ) 例1:婚配问题 二分图的最大匹配 在二分图的应用中,最常见的就是最大匹配问题,很多其他的问题都可以通过转化为匹配问题来解决。 如何求二分图的最大匹配呢? 经典算法: 匈牙利算法 匈牙利算法(求二分图最大匹配) 谈匈牙利算法自然避不开Hall定理 Hall定理:对于二分图G,存在一个匹配M,使得X的所有顶点关于M饱和的充要条件是:对于X的任意一个子集A,和A邻接的点集为T(A),恒有: |T(A)| = |A| 图示(1): 图示(2): 匈牙利算法——基本步骤: 1.任给初始匹配M; 2.若X已饱和则结束,否则进行第3步; 3.在X中找到一个非饱和顶点x0, 作V1 ← {x0}, V2 ← Φ; 4.若T(V1) = V2则因为无法匹配而停止,否则任选一点y ∈T(V1)\V2
原创力文档

文档评论(0)