談匈牙利算法自然避不開Hall定理,即是:對于二部圖G,存在一個匹配M,使得X的所有頂點(diǎn)關(guān)于M飽和的充要條件是:對于X的任意一個子集A,和A鄰接的點(diǎn)集為T(A),恒有:│T(A)│ >= │A│
匈牙利算法是基于Hall定理中充分性證明的思想,其基本步驟為:
1.任給初始匹配M;
2.若X已飽和則結(jié)束,否則進(jìn)行第3步;
3.在X中找到一個非飽和頂點(diǎn)x0,作V1 ← {x0},V2 ← Φ;
4.若T(V1) = V2則因?yàn)闊o法匹配而停止,否則任選一點(diǎn)y ∈T(V1)\V2;
5.若y已飽和則轉(zhuǎn)6,否則做一條從x0 →y的可增廣道路P,M←M?E(P),轉(zhuǎn)2;
6.由于y已飽和,所以M中有一條邊(y,z),作 V1 ← V1 ∪{z},V2 ← V2 ∪ {y},轉(zhuǎn)4;
設(shè)數(shù)組up[1..n] --- 標(biāo)記二分圖的上半部分的點(diǎn).
down[1..n] --- 標(biāo)記二分圖的下半部分的點(diǎn).
map[1..n,1..n] --- 表示二分圖的上,下部分的點(diǎn)的關(guān)系.
True-相連,false---不相連.
over1[1..n],over2[1..n] 標(biāo)記上下部分的已蓋點(diǎn).
use[1..n,1..n] - 表示該條邊是否被覆蓋 .
首先對讀入數(shù)據(jù)進(jìn)行處理 ,對于一條邊(x,y) ,起點(diǎn)進(jìn)集合up,終點(diǎn)進(jìn)集合down.標(biāo)記map中對應(yīng)元素為true.
1.尋找up中一個未蓋點(diǎn) .
2.從該未蓋點(diǎn)出發(fā) ,搜索一條可行的路線 ,即由細(xì)邊出發(fā),由細(xì)邊結(jié)束,且細(xì)粗交錯的路線 .
3.若找到 ,則修改該路線上的點(diǎn)所對應(yīng)的over1,over2,use的元素.重復(fù)步驟1.
4.統(tǒng)計use中已覆蓋的邊的條數(shù)total,總數(shù)n減去total即為問題的解.
什么是匈牙利算法?Hall定理是什么
什么是匈牙利算法?Hall定理是什么
PASCAL語言
還有HALL定理,
PASCAL語言
還有HALL定理,
數(shù)學(xué)人氣:985 ℃時間:2020-08-18 14:21:07
優(yōu)質(zhì)解答
我來回答
類似推薦
- 有沒有人能告訴我什么是匈牙利算法
- 旅行商的匈牙利算法
- 什么是匈牙利法?
- 用兩種方法證明三角形的角平分線定理
- 一輛停在山崖前某處的汽車鳴笛后經(jīng)過1.2s聽到回聲在空氣中的傳播速度340m/s則距山崖的距離約為多少?
- 折射的虛像怎么形成的?
- 仿照課文中兩兩對稱的語句,將下列句子補(bǔ)充完整,使之兩兩對稱
- 2.x²-Kx-4 有一個因式為 (x+1) 則另一個因式---- 及 K=------
- 設(shè)集合A={-2},B={x|ax+1=0,a∈B},若A∩B=B,求a的值
- you should go to the park to have a rest同義句
- 英語翻譯
- 如何選擇重結(jié)晶溶劑
猜你喜歡
- 1求一組蘊(yùn)含人生哲理的排比句.句中兼用比喻或擬人手法,語言生動形象.
- 2請問,財務(wù)竣工決算審計和工程造價審計用英語如何翻譯?
- 3three mountains are covered with snow,tower over the land.
- 4you have to go to america by piane的同義句
- 5水溶液稱氯水,氯水存在的微粒,分析一下其中存在的分子有 ,離子有 ,
- 6找出古詩詞中詠荷的三句名句,并加以賞析.
- 7分析the doctor has decided what to do.麻煩幫我分析一下 在句子的成分 結(jié)果 什么從句
- 8誰能幫我把中文翻印成英文..就2句..
- 9作一個直角三角形兩個銳角的角平分線,所夾的角是多少度?
- 10陳老師家四月份用水21噸,用電126度,共付水電費(fèi)132元,其中水費(fèi)相當(dāng)于電費(fèi)的7分之4
- 11以知下列關(guān)于x方程:4(x-3)+2a=負(fù)X+5和7x-3=a+x
- 12在實(shí)數(shù)單位內(nèi)化簡3-!1-根號下-x²!表示絕對值 今晚8:30前