prim算法最小生成树(优化)
2014-02-21 10:07
246 查看
#include <iostream> using namespace std; const int maxn = 1000; int f[maxn]={0}; int n,e; int a[maxn][maxn]={0}; void prim(int v0) { int cost[maxn]; for (int i=0;i<n;i++) cost[i]=1000000; for (int i=1;i<n;i++) if (a[v0][i]) cost[i]=a[v0][i]; f[v0]=1; int pos; int ans=0; for (int k=1;k<n;k++) { int mini=1000000; for (int i=0;i<n;i++) { if (cost[i]<mini && !f[i]) { mini=cost[i]; pos=i; } } f[pos]=1;ans += cost[pos]; for (int i=0;i<n;i++) { if (!f[i] && a[pos][i] && a[pos][i]<cost[i]) { cost[i] = a[pos][i]; } } } } int main () { cin >> n >> e; for (int i=0;i<e;i++) { int p,q; cin >> p >> q; cin >> a[p][q]; a[q][p]=a[p][q]; } prim(1); }
相关文章推荐
- hihocoder1097、1109最小生成树(prim算法+堆优化)
- hihoCoder 1109 最小生成树三·堆优化的Prim算法
- hihocoder 1109 : 最小生成树三·堆优化的Prim算法
- hihocoder #1109 最小生成树三·堆优化的Prim算法
- 最小生成树 堆优化的Prim算法
- 最小生成树(二)--prim算法实现以及堆优化
- #1109 : 最小生成树三·堆优化的Prim算法
- HIHO #1109 : 最小生成树三·堆优化的Prim算法
- java编写Prim算法实现最小生成树(LazyPrim算法的优化版)
- hiho一下 第二十八周 最小生成树三·堆优化的Prim算法
- hdu1233 还是畅通工程 最小生成树 Prim算法堆优化
- hiho刷题日记——第二十九天最小生成树三·堆优化的Prim算法
- hiho 29 最小生成树三·堆优化的Prim算法
- 最小生成树Prim算法 堆优化
- hihoCoder#1109 最小生成树三·堆优化的Prim算法
- hiho一下 第二十九周 最小生成树三·堆优化的Prim算法【14年寒假弄了好长时间没搞懂的prim优化:prim算法+堆优化 】
- prim算法最小生成树(未优化)
- B - Networking——最小生成树_Prim算法(未堆优化)
- Hrbust 1123 MST(最小生成树,Kruskal算法|Prim算法)
- 最小生成树问题中Kruskal算法和Prim算法的C语言实现