Prime算法实现最小生成树
来源:互联网 发布:王侯将相宁有种乎 很燃 编辑:程序博客网 时间:2024/05/29 03:20
#include<string.h>#define INF 1000#define MAXN 21int n,m;int Edge[MAXN][MAXN];int lowcost[MAXN];int nearvex[MAXN];void prime(int u0){int i,j;int sumweight=0;int min=INF;int v=-1;for(i=1;i<=n;i++){lowcost[i]=Edge[u0][i];//到最小生成树的最近的点nearvex[i]=u0;}nearvex[u0]=-1;for(i=1;i<n;i++){min=INF;v=-1; //根据lowcost找出下一个开销最小的点 vfor(j=1;j<=n;j++){if(nearvex[j]!=-1 && lowcost[j]<min){v=j;min=lowcost[j];} }if(v!=-1){printf("%4d%4d%4d\n",nearvex[v],v,lowcost[v]);nearvex[v]=-1;sumweight+=lowcost[v];for(j=1;j<=n;j++){if(nearvex[j]!=-1 &&Edge[v][j]<lowcost[j]){lowcost[j]=Edge[v][j];nearvex[j]=v;}}}}printf("weight of MST is: %d\n",sumweight);}int main(){int i,j;int u,v,w;scanf("%d%d",&n,&m);memset(Edge,0,sizeof(Edge));for(i=1;i<=m;i++){scanf("%d%d%d",&u,&v,&w);Edge[u][v]=Edge[v][u]=w;}for(i=0;i<=n;i++){for(j=0;j<=n;j++){if(i==j)Edge[i][j]=0;else if(Edge[i][j]==0)Edge[i][j]=INF;}}prime(1);system("PAUSE");return 0;}
0 0
- 最小生成树之prime算法实现
- Prime算法实现最小生成树
- 最小生成树算法[prime]
- 最小生成树-prime算法
- 最小生成树 prime算法
- 最小生成树 prime算法
- 最小生成树Prime算法
- 最小生成树--Prime算法
- 最小生成树 Prime算法
- 最小生成树 prime 算法
- 最小生成树-prime算法
- 图之Prime算法(邻接表)实现----最小生成树
- prime算法-最小生成树算法
- prime算法求所有最小生成树
- hdu 1879 最小生成树【prime算法】
- uva 4138【最小生成树prime算法】
- zoj1372 Networking 最小生成树Prime算法
- 最小生成树 prime算法 归纳
- 文件
- 跟踪监控MYSQL执行的sql语句
- Hadoop综述(一)
- VS2010代码提示功能配置:Visual Assist X 10.7.1912.0
- “网络扫黄”风刮起 看其运营与盈利模式
- Prime算法实现最小生成树
- 关于PHP搭建时遇到的小问题
- 第二章:iptables简介与基础(转)
- Cocos2d-x初入学堂(9)-->CCParticleSystem粒子系统
- ASN.1编码
- xp下安装Ubuntu
- Python 簡單Singleton
- 【自定义标签】开发流程、执行流程、传统标签库、简单标签库——控制往内容是否输出、控制页面是否输出
- 获取Android系统自带的UA