我想使用Prim的算法來優化輸水管道問題。當存在與相鄰頂點相鄰的邊時,我非常困惑如何初始化鄰接矩陣。我認爲每當邊緣存在時都要加重。然而,w(Vi,Vj)本身看起來是一個權重矩陣。那麼,爲什麼我首先需要A {Vi,Vj}。Prim的算法通過鄰接矩陣
我所要做的就是編寫一個算法方法,然後繼續編寫程序。請建議如果以下是好的?
設置鄰接矩陣A {Vi,Vj}。這裏Vi包含所有訪問過的節點,而Vj包含所有訪問過的Vi的相鄰節點。下面的矩陣將存儲所有通過一定距離與相鄰的一對房屋連接的房屋。我很困惑THA
爲各個VI:= 1到n做//聖維特是第i個頂點,其存儲一對房子 爲每個VJ:= 1到n做// Vjth是相鄰對房子的一些重量 如果(Vi和VJ之間存在邊緣),那麼 設置 A {VI中,VJ}以w(六,VJ) 否則如果(邊緣不Vi和VJ之間存在)那麼 Set A [Vi,Vj]:= 0
計算最小生成樹。
- 輸出:顯示所需的總輸水管道。
好的,你說我可以假設,如果邊緣存在矩陣將包含重量,它會不會無限? – MrCoder
我仍然必須在我的算法中展示它嗎? – MrCoder
是的,確切地說,每個不存在的邊緣應該具有無限的權重;此外,還使用了一些算術約定,只要其任何加數或因子是無窮大,該值都是無窮大的。如果輸入有解(在這種情況下,該值是最優值),這將產生有限值的答案,否則輸出將是無限值。 – Codor