Re: [問題] 關於 Kruskal's algorithm 證明的問題

看板DiscreteMath作者 (Wayne)時間17年前 (2008/09/26 00:57), 編輯推噓2(202)
留言4則, 3人參與, 最新討論串3/3 (看更多)
※ 引述《f54512 (這不是柏良 這不是柏良)》之銘言: : 不知道我有沒有誤會你的問題 : 在T中找到一個edge ek 不在T*中 : 將ek加到T*中會形成一個cycle : 而在這個cycle上存在一個edge e*並且c(e*) > c(ek) : 如果c(e*) < c(ek) < c(ek*) 則e*會是某個edge ei 1<=i<k : 如果cycle上的所有edge的cost均小於c(ek) : 如此一來ek就會在T中行成一個cycle 違反T是spanning tree這個前提 : 所以必定可以在cycle上找到edge e*且c(e*) > c(ek) : 希望這樣有回答到你的問題^^ 對了我又想到了一個問題。 老師證明中的k值,滿足e1=e1*, e2=e2*, ..., e(k-1)=e(k-1)*, ek≠ek*, 我認為i>=(k+1), ei與ei* 不一定相等。 如此一來, 當ek加入T*中形成cycle,cycle中可以找到一edge e* 使得 c(e*) > c(ek)。 而e*=ei*, i>=k 如何說明e*不會出現在T中? e*在T中會影響證明嗎? 事實上,從你的推論中,已經得出 c(e*) > c(ek) 且 e* 和 ek 位於 cycle 中, 所以將 ek 取代 e* 會產生出比 T* cost更小的spanning tree,造成矛盾。 因此我認為 e* 是否在T中,沒有影響。 又要麻煩你了,謝謝。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.168.192.40 ※ 編輯: imprazaguy 來自: 118.168.192.40 (09/26 01:19)

09/26 03:29, , 1F
你問的問題第六行的"而e*=ei, i>=k"是不是應該改成
09/26 03:29, 1F

09/26 03:29, , 2F
"而e*=ei*, i>=k"?
09/26 03:29, 2F
已修正 ※ 編輯: imprazaguy 來自: 140.112.30.125 (09/26 10:11)

09/26 15:52, , 3F
e*是否在T中並不影響證明 我們只是透過e*導到T*會形成矛盾
09/26 15:52, 3F

09/27 00:01, , 4F
謝謝回答
09/27 00:01, 4F
文章代碼(AID): #18syBXNV (DiscreteMath)
文章代碼(AID): #18syBXNV (DiscreteMath)