prime演算法 最小生成樹

2021-09-26 12:13:13 字數 791 閱讀 5633

若有差錯,望請指正!

//最小生成樹prime演算法,時間複雜度o(|v|^2),時間複雜度只與頂點個數有關,與邊無關

/*gedge = ,,,,,}*/

#define max 1000 //可以更大

void mintree_prime(graph g)

int min_arc;//從min_weight中挑選出的最小的邊,即已計算的頂點群與未計算的頂點群所有相連線的邊中的最小邊

int min_vex;//對應與min_arc相連線的邊的未計算頂點群中的那乙個頂點

for(int i= 1;imin_weight[min_vex] = 0;//修改已找到的 已計算結點群與未計算節點群權值最小邊,所連線的未計算的結點min_weight的下標,

/*第二個for迴圈功能:

(1)由於新加入了min_vex頂點,更新min_weight陣列

(2)由於min_weight的更新,從而更新adjvex陣列

*/for(int j = 0;j/*

if的判斷條件

(1)min_weight[j]!=0

排除掉所有已計算的結點,此時的j均為未計算的結點的下標

(2) g.edge[min_arc][j]

新加入已計算群的結點到其他未計算結點的邊的權值

(3)min_weight[j]

原來的已計算結點群到各個未計算結點的邊的最小權值

*/if(min_weight[j]!=0 && g.edge[min_vex][j]}

}

最小生成樹 Prime演算法

對於乙個圖,它的所有生成樹中必有乙個 邊的權值最小 的生成樹,我們把它稱為最小生成樹。概念很抽象,換做實際問題 有十個城市,各個城市之間距離或遠或近。需要建設乙個道路網,把十個城市連線在一起,要求道路網的道路長度最小。各個城市的連線可以抽象為乙個圖,本質上即是求該圖的乙個最小生成樹。每乙個圖可能有多...

最小生成樹 prime演算法

問題 c 建立通訊 時間限制 1 sec 記憶體限制 128 mb 提交 7 解決 4 提交 狀態 討論版 題目描述 據不完全統計,受 影響,四川大部分災區通訊陷入癱瘓,數千個基站因斷電 傳輸中斷等原因退出服務,目前總公司已緊急部署對受災地區進行通訊搶修。按照應急通訊保障預案,必須盡快 付出代價最小...

最小生成樹 prime演算法

生成樹頂點集合,初始只含起點 v0。visit i 1 i點已在生成樹中 lowcost i 生成樹中的點 到頂點 i 的最短距離。演算法過程 1.初始化生成樹,一開始只將起點 v0 加入到 樹中。2.初始化 lowcost 陣列,初值為 v0 到各頂點的距離,無邊則為 inf。重複以下步驟,直到所...