二分圖匹配
二分圖又稱作二部圖,是圖論中的一種特殊模型。 設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.最大獨立集
定義:集合中兩點之間互不相連,求最大的集合
最大獨立集 = 所有點的個數 - 最大二分圖匹配數