最小生成樹 普里姆演算法

2021-08-28 04:20:51 字數 539 閱讀 4069

當我們要求解n個連線城市之間的路線問題,就需要我們進行乙個計算。

而在連通網上面,我們稱這類問題為最小代價生成樹(最小生成樹)問題。今天我們主要討論的是用普里姆演算法實現最小生成樹。

如圖所示,a圖是乙個有權值的連通圖。要對其進行最小生成樹求解,假設初始點為v1,尋找與1有關係而且權值最小的頂點

(圖源嚴蔚敏版資料結構)

**實現:

/**求頂點位置**/

int locatvex(arraygraph g,char u)

{int i,a;

for(i=0;ifor(i=0;i執行結果:

時間複雜度:o(n²)

假設圖中共有n個頂點,則進行第乙個迴圈的頻度為n,第二個迴圈的頻度為n-1。而重新求取最小代價邊的頻度為n。因此時間複雜度為o(n²)

最小生成樹(普里姆演算法)

關於什麼是prim 普里姆演算法 在實際生活中,我們常常碰到類似這種一類問題 如果要在n個城市之間建立通訊聯絡網,則連通n個城市僅僅須要n 1條線路。這時。我們須要考慮這樣乙個問題。怎樣在最節省經費前提 下建立這個通訊網.換句話說,我們須要在這n個城市中找出乙個包括全部城市的連通子圖,使得 其全部邊...

最小生成樹 普里姆演算法

普利姆演算法 最小生成樹 把所有頂點分為 2 個集合 乙個表示已經選中的頂點集合 另乙個表示未選中的頂點集合 例如 a,b,c,d,e 五個頂點 1.任意選擇乙個頂點 放在 已經選中的頂點集合中 假如 選a 2.將a 與未選中頂點集合中 選擇 一頂點 條件 權值最小的乙個頂點 如何權值相同 則任意選...

普里姆演算法 最小生成樹

include includeusing namespace std 普里姆演算法求最小生成樹 先取一點,然後求其周圍各點最近的,將其納入最小生成樹裡面,再在生成最小生成樹周圍求最近的,之後再納入,這樣不斷遍歷每個節點 void minispantree prim mgraph g for int ...