求最小生成樹(prim演算法)
1000(ms)
10000(kb)
1726 / 3439
tags: 生成樹
求出給定無向帶權圖的最小生成樹。圖的定點為字元型,權值為不超過100的整形。在提示中已經給出了部分**,你只需要完善prim演算法即可。
輸入
第一行為圖的頂點個數n輸出第二行為圖的邊的條數e
接著e行為依附於一條邊的兩個頂點和邊上的權值
最小生成樹中的邊。
樣例輸入
6樣例輸出(a,c)(c,f)(f,d)(c,b)(b,e)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
#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 中某個頂點的權值最小 將...