用普里姆演算法求最小生成樹

2021-05-23 17:19:02 字數 616 閱讀 5936

/*用普里姆演算法求最小生成樹*/

#include using namespace std;

/*鄰接矩陣的型別定義*/

#define max 10000000

#define max_vertex_num 20

typedef struct

mgraph;

/*構造無向聯通網的鄰接矩陣*/

void createudg_am(mgraph &g,int n,int e)

}//輔助陣列定義

typedef struct

costofvu;

costofvu closedge[max_vertex_num];//該一維陣列用來儲存v-u和u之間的權值

int locatevex(mgraph &g,char x)

return k;

}//呼叫上面的函式求最小生成樹

void minispantree_prim(mgraph &g,char u)

closedge[k].lowcost=0;//該句表示將頂點u納入到u中

for(i=1;i} }}

void main()

採用普里姆演算法求最小生成樹

內容 編寫乙個程式exp8 5.cpp,實現求帶權連通圖最小生成樹的普里姆演算法。對於如圖8.55所示的帶權連通圖g,輸出從頂點0出發的一顆最小生成樹。資料結構教程 第5版 李春葆 主編 第8章上機練習實驗題5 如下 include include using namespace std defin...

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

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

最小生成樹 普里姆演算法

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