算法分析与设计-14-最小生成树的Prim算法
来源:互联网 发布:lol钻石网吧mac 编辑:程序博客网 时间:2024/06/05 20:23
最小生成树的Prim算法
#include<iostream>using namespacestd; #define NUM 1000#define maxint10000000 void Prim (int n, int c[][NUM]){ int lowcost[NUM]; int closest[NUM]; bool s[NUM] = {false}; for (int i=1; i<=n; i++) { lowcost[i] = c[1][i]; closest[i] = 1; s[i] = false; } s[1] = true; for (int i=1; i<n; i++) { int min = maxint; int j=1; for(int k=2; k<=n; k++) if((lowcost[k]<min)&& (!s[k]) ) { min =lowcost[k]; j = k; } printf("V%d-V%d=%d\n",closest[j], j,min); s[j] = true; for(int k=2; k<=n; k++) if((c[j][k]<lowcost[k])&& (!s[k])) { lowcost[k]= c[j][k]; closest[k]= j; } }} int c[NUM][NUM];int main(){ int n, m; while (scanf("%d%d", &n,&m)!=EOF && n) { int i, j; for (i=0; i<=n; i++) for (j=0; j<=n;j++) c[i][j] =maxint; int v,w,edge; for (i=0; i<m; i++) { scanf("%d%d%d",&v, &w, &edge); c[v][w] = edge; c[w][v] = edge; } printf("请出最小生成树:\n"); Prim(n, c); printf("\n"); } return 0;}
运行效果:
0 0
- 算法分析与设计-14-最小生成树的Prim算法
- Prim 算法生成的最小生成树
- 最小生成树Prim与Kruskal算法的比较
- 最小生成树的prim算法代码
- 最小生成树的prim算法实现
- 构造最小生成树的 prim 算法
- 最小生成树的Prim算法
- 图的最小生成树(prim算法)
- 最小生成树的prim算法
- 最小生成树的prim算法
- JAVA的最小生成树(prim)算法
- 最小生成树的prim算法实现
- 最小生成树的prim算法
- 最小生成树的Prim算法
- 最小生成树的Prim算法笔记
- 求最小生成树的Prim算法
- 最小生成树的prim算法
- 构建最小生成树的prim算法
- SVN学习笔记
- 蓝桥基础练习 杨辉三角形
- 有一个已排好序的数组,要求输入一个数后,按原来的规律插入数组
- 读书笔记(7) 扩展阅读
- linux进程身份 - 进程标识
- 算法分析与设计-14-最小生成树的Prim算法
- powerdesigner快速生成主键自动增长
- hdoj 1575 Tr A (矩阵快速幂)
- 蓝桥基础练习 查找整数
- onActivityResult中调用startActivityForResult接收不到返回值
- 《自控力》(Kelly McGonigal)-推荐
- 协议森林09 爱的传声筒 (TCP连接)
- RAID__2__创建RAID
- 字符串处理面试题;