2015年大二上-数据结构-图-2-(1)-Prim算法
来源:互联网 发布:python 判断进程状态 编辑:程序博客网 时间:2024/06/09 14:23
/**Copyright (c) 2014,烟台大学计算机学院*All rights reserved.*文件名称:Annpion.cpp*作者:王耀鹏*完成日期:2016年2月2日*版本号:v1.0**问题描述:最小生成树的普里姆算法*输入描述:图*输出描述:最小生成树的普里姆算法*/#include <stdio.h>#include <malloc.h>#include "Graph.h"void Prim(MGraph g,int v)//Prim算法{ int min,lowcost[MAXV],closest[MAXV],i,j,k; for(i=0; i<g.n; ++i) { lowcost[i]=g.edges[v][i]; closest[i]=v; } for(i=1; i<g.n; ++i) { min=INF; for(j=0; j<g.n; ++j) { if(lowcost[j]!=0&&lowcost[j]<min) { min=lowcost[j]; k=j; } } printf(" 边(%d,%d)权为:%d\n",closest[k],k,min); lowcost[k]=0; for(j=0;j<g.n;++j) if(g.edges[k][j]!=0&&g.edges[k][j]<lowcost[j]) { lowcost[j]=g.edges[k][j]; closest[j]=k; } }}int main(){ MGraph g; int A[6][6]= { {0,6,1,5,INF,INF}, {6,0,5,INF,3,INF}, {1,5,0,5,6,4}, {5,INF,5,0,INF,2}, {INF,3,6,INF,0,6}, {INF,INF,4,2,6,0} }; ArrayToMat(A[0], 6, g); printf("最小生成树构成:\n"); Prim(g,0); return 0;}
附:测试用图结构
运行结果:
0 0
- 2015年大二上-数据结构-图-2-(1)-Prim算法
- 2015年大二上-数据结构-图-2-(2)-Kruskal算法
- 2015年大二上-数据结构-图-2-(3)-Dijkstra算法
- 2015年大二上-数据结构-图-2-(4)-Floyd算法
- 2015年大二上-数据结构-图-1-(1)图基本算法库
- 2015年大二上-数据结构-图-1-(3)图遍历算法实现
- 2015年大二上-数据结构-图-2-(5)-拓扑排序
- 2015年大二上-数据结构-查找-1-(2)-分块查找
- 2015年大二上-数据结构-查找-2-(1)-HashTable
- 2015年大二上-数据结构-链表(3)-单链表算法
- 2015年大二上-数据结构-图-1-(2)操作用邻接表存储的图
- 2015年大二上-数据结构-图-1-(4)-利用遍历思想求解图问题(2)
- 2015年大二上-数据结构-树和二叉树-1-(2)二叉树遍历的递归算法
- 2015年大二上-数据结构-树和二叉树-1-(1)二叉树算法库
- 2015年大二上-数据结构-链表(2)- 建设“单链表”算法库
- 2015年大二上-数据结构-栈(2)-链栈算法库
- 2015年大二上-数据结构-队列(2)- 链队算法库
- 2015年大二上-数据结构-串(2)- 链串算法库
- 高中 诗
- 关于css的水平垂直居中问题
- JavaScript 资源大全
- 第十三章 红黑树
- Linux下解压命令大全
- 2015年大二上-数据结构-图-2-(1)-Prim算法
- 完美解决SQLserver 2000“指定的服务并未以已安装的服务存在”的问题
- 2013腾讯编程马拉松初赛第〇场(3月20日)(HDU4500 —— HDU4504)
- SQL Server2000数据库分离与附加
- Android屏幕适配之固定宽高比
- ffmpeg入门(三)
- 网页动画出入方式用jquery怎么写
- 【linux备忘笔记】Linux root 从bash-3.2回到root@localhost(个性化设置)
- android: 横竖屏切换总结-布局改变和数据保存