鄰接矩陣 最小生成樹 普里姆演算法

2021-06-27 18:26:52 字數 521 閱讀 4196

//風雨難洗心痕,滄桑不滅情傷。莫要輕言亙古,離散才看荒涼。

#include "stdio.h"

typedef char vertextype;  //頂點

typedef int edgetype;  //邊的權值

#define maxvex 100

#define infinity 65535

//鄰接矩陣

typedef struct

mgraph;

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

void minspantree_prim(mgraph g)

for ( i = 1; i

j++;

}printf("(%d,%d)",adjvex[k],k);//列印當前頂點邊中權值最小邊

lowcost[k] = 0;//將當前頂點的權值設定為0,表示此頂點已經完成任務

for ( j = 1; j < g.numvertexes; j++)//迴圈所有頂點}}

}

普里姆演算法(鄰接矩陣)

思想 從某個頂點開始 不要把它看成乙個單獨的頂點,把它看成只有乙個結點的子生成樹 在第一步的生成樹的相鄰邊中,選一條最小的邊,將最小的邊和邊的另乙個結點併入子生成樹中 生成樹就長大了一點 繼續,直到所有的頂點都被併入了生成樹 步驟1.取圖中任意乙個頂點 v 作為生成樹的根,之後往生成樹上新增新的頂點...

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

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

最小生成樹 普里姆演算法

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