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

2021-06-29 06:28:27 字數 620 閱讀 4440

最小生成樹:**的7到12行先初始化了矩陣第一行的值,本來很奇怪,那其他行的值怎麼辦?看到最後的28--35行才知道,原來從下面開始會逐步初始化與上個頂點相關的邊的值,最後能夠把全部都初始化了。**截圖如下:

演算法定義:

1).輸入:乙個加權連通圖,其中頂點集合為v,邊集合為e;

2).初始化:v

new = ,其中x為集合v中的任一節點(起始點),e

new = {},為空;

3).重複下列操作,直到v

new = v:

a.在集合e中選取權值最小的邊,其中u為集合v

new中的元素,而v不在v

new集合當中,並且v∈v(如果存在有多條滿足前述條件即具有相同權值的邊,則可任意選取其中之一);

b.將v加入集合v

new中,將邊加入集合e

new中;

4).輸出:使用集合v

new和e

new來描述所得到的最小生成樹。

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

1.鄰接矩陣儲存 cpp view plain copy 圖的鄰接矩陣儲存表示 define infinity int max define max vertex num 20 typedef enum graphkind typedef enum status typedef struct arc...

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

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

最小生成樹之普里姆 Prim 演算法

prim 演算法是一種貪心演算法 適合稠密圖 設g v,e 是無向連通帶權圖,v 設最小生成樹 t u,e 演算法結束時 u v,e e。貪心選擇的思想是 每次對於還未加入到 u 中 即 v u 中 所有點頂,從這些頂點中選擇乙個頂點,選擇的標準是,它距離 u 最近 和 u 中某個頂點的權值最小 將...