Prim演算法求最小生成樹

2021-06-06 13:34:56 字數 547 閱讀 4665

本文參考:

google

,資料結構(

c語言)

prim演算法,求最小生成樹

#include #include /*

最小生成樹prim

*/#define max 65535

using namespace std;

struct graph

;int prim(graph *g)

flag[0] = 1; //將0號結點加入集合s

int count = 0;

while(count++< g->vercount-1)

}sum+=min;

flag[select] = 1;

for(int i = 0;ivercount;i++)

}

}return sum;

}int main(int argc, char *argv)

cout<<"the min value is "<

Prim演算法求最小生成樹

cost i j 存i和j之間的距離,vis i 記錄i點是否被訪問,lowc j 存所有與j點連線的邊的最小的權值。每次找最小的lowc j 然後。最小生成樹 int prim int cost maxn int n 點是0 n 1 if minc inf return 1 原圖不連通 ans m...

Prim演算法求最小生成樹

樸素prim演算法 1 距離初始化成正無窮 2 n次迭代 找到集合外距離最近的點,賦值給t 3 用t更新其他點到集合的距離 跟狄傑斯塔拉不一樣,狄傑斯塔拉是跟原點的距離 點與集合所有點距離最短的點 st t true 給定乙個n個點m條邊的無向圖,圖中可能存在重邊和自環,邊權可能為負數。求最小生成樹...

Prim演算法求最小生成樹

void prim matgraph g,int v for i 1 i 找出n 1個頂點 printf 邊 d,d 權為 d n closest k k,min lowcost k 0 標記k已經加入u for j 0 j 修改陣列lowcost和closest if g.edges k j 0 ...