二分图匹配
二分图又称作二部图,是图论中的一种特殊模型。 设G=(V,E)是一个无向图,如果顶点V可分割为两个互不相交的子集(A,B),并且图中的每条边(i,j)所关联的两个顶点i和j分别属于这两个不同的顶点集(i in A,j in B),则称图G为一个二分图。
无向图G为二分图的充分必要条件是,G至少有两个顶点,且其所有回路的长度均为偶数
1.代码的实现过程
这个博客写的很有趣,也很易懂
http://blog.csdn.net/dark_scope/article/details/8880547
2.有一问题代码实现虽然懂了,但是有个很重要的部分没有理解,强调
就是增广路->即交错轨,这个思想在二分图的很多其他应用上很有用
3.二分图的大致用法
a.最小点覆盖数
定义:点覆盖集即一个点集,使得所有边至少有一个端点在集合里
具体的证明,就要用到上面的增广轨,采用反证
下面给出具体证明:
http://blog.csdn.net/niushuai666/article/details/7036897
b.最小路径覆盖
定义:找到最少的路径,使得这些路径覆盖所有的点
最小路径覆盖=顶点数 - 最大二分图匹配数
c.最大独立集
定义:集合中两点之间互不相连,求最大的集合
最大独立集 = 所有点的个数 - 最大二分图匹配数