最小生成樹之prim 普利姆 演算法

2021-08-19 08:23:02 字數 783 閱讀 3428

求最小生成樹(prim演算法)

1000(ms)

10000(kb)

1726 / 3439

tags: 生成樹

求出給定無向帶權圖的最小生成樹。圖的定點為字元型,權值為不超過100的整形。在提示中已經給出了部分**,你只需要完善prim演算法即可。

輸入

第一行為圖的頂點個數n

第二行為圖的邊的條數e

接著e行為依附於一條邊的兩個頂點和邊上的權值

輸出
最小生成樹中的邊。

樣例輸入

6

10abcdef

a b 6

a c 1

a d 5

b c 5

c d 5

b e 3

e c 6

c f 4

f d 2

e f 6

樣例輸出
(a,c)(c,f)(f,d)(c,b)(b,e)

#include#include#define inf 9999

using namespace std;

int map[105][105],vis[105],dis[105];

int path[105],n;

char str[1005];

void prim()

//找出最小距離的節點

}if(t)

cout<<'('}

}}int main()

prim();

return 0;

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

概念 將給出的所有點連線起來 即從乙個點可到任意乙個點 且連線路徑之和最小的圖叫最小生成樹。最小生成樹屬於一種樹形結構 樹形結構是一種特殊的圖 或者說是直鏈型結構,因為當n個點相連,且路徑和最短,那麼將它們相連的路一定是n 1條。可以利用參考乙個問題理解最小生成樹,有n個村莊,每個村莊之間距離不同,...

最小生成樹之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 中某個頂點的權值最小 將...