-
大小: 19KB文件類型: .rar金幣: 1下載: 0 次發(fā)布日期: 2021-01-11
- 語言: Matlab
- 標(biāo)簽:
資源簡介
數(shù)學(xué)建模中能用到的超經(jīng)典匈牙利算法,用matlab編程,給大家分享分享
代碼片段和文件信息
//匈牙利算法實(shí)現(xiàn)?
int?Bipartite(bool?vc?[][MAX]int?nv1int?nv2)?{?
????//vc[][]為二分圖,nv1nv2分別為左邊的點(diǎn)數(shù)?
????int?i?j?x?n;?
????//n為最大匹配數(shù)?
????int?q[MAX]?prev[MAX]?qs?qe;?
????//q是BFS用的隊列,prev是用來記錄交錯鏈的,同時也用來記錄右邊的點(diǎn)是否被找過
????int?vm1[MAX]?vm2[MAX];?
????//vm1vm2分別表示兩邊的點(diǎn)與另一邊的哪個點(diǎn)相匹配?
????n?=?0;?
????for(?i?=?0;?i?????for(?i?=?0;?i?????for(?i?=?0;?i?????????if(vm1[i]?!=?-1)continue;
????????//對于左邊每一個未被匹配的點(diǎn)進(jìn)行一次BFS找交錯鏈?
????????
????????for(?j?=?0;?j?????????//每次BFS時初始化右邊的點(diǎn)
?????????
????????qs?=?qe?=?0;?//初始化BFS的隊列?
????????//下面這部分代碼從初始的那個點(diǎn)開始,先把它能找的的右邊的點(diǎn)放入隊列
????????//★稍微改一下可以適用于用鄰接表實(shí)現(xiàn)的二分圖?
????????for(?j?=?0;?j?????????????prev[j]?=?
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????1992??2007-07-25?17:46??erfenpipei\bipartite.cpp
?????文件?????174592??2007-08-28?21:56??erfenpipei\二分匹配.ppt
?????目錄??????????0??2007-08-28?21:56??erfenpipei
?????文件????????218??2007-06-04?14:14??www.pudn.com.txt
-----------?---------??----------?-----??----
???????????????176802????????????????????4
評論
共有 條評論