日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Hungary(匈牙利算法)——二分图最大匹配

發布時間:2025/3/15 编程问答 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Hungary(匈牙利算法)——二分图最大匹配 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

  在復習匈牙利算法的時候,發現這么一篇介紹匈牙利算法的文章,非常通俗易懂,所以就借鑒過來了。

? ? ?復雜度:鄰接矩陣:O(v^3)鄰接表:O(V*E)

  附上鏈接:趣寫算法系列之--匈牙利算法

  下面就附上代碼吧:

  

int maxn;//maxn 為x、y集合的最大頂點數 int xmatch[maxn]; //xmatch[i]表示X集合中的i在Y集合中對應的匹配 int ymatch[maxn]; //ymatch[i]表示Y集合中的i在X集合中對應的匹配int map[maxn][maxn]; //鄰接矩陣,若i與j不相連,則為0 bool used[maxn]; //用于標記是否某點被遍歷過 int n,m; //X集合個數n,Y集合個數mbool find(int x){for(int i=0;i<m;i++){if(map[x][i] && !used[i]){used[i]=1;if(ymatch[i]=-1 || find(ymatch[i])){ymatch[i]=x;return true;}}}return false; }int hungary(){int cnt=0; //最大匹配數目memset(ymatch,-1,sizeof(ymatch));for(int i=0;i<n;i++){memset(used,0,sizeof(used));if(find[i]){cnt++;}}return cnt; } View Code

?

轉載于:https://www.cnblogs.com/chenxiwenruo/p/4511166.html

總結

以上是生活随笔為你收集整理的Hungary(匈牙利算法)——二分图最大匹配的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。