图的--最小-连通-网
来源:互联网 发布:mysql create trigger 编辑:程序博客网 时间:2024/05/16 15:34
#include <stdio.h>#include <stdlib.h>/*------------------*time:2016-04-16*------------------*/#define VNUM 5#define MV 65536int P[VNUM]; //P[i]:the begin of Vertex,i: the end of Vertex int Cost[VNUM]; //record the Edge of weightint Mark[VNUM]; //Mark which Vertex was usedint Matrix[VNUM][VNUM] = {{0,10,15,MV,MV},{10,0,20,60,MV},{50,20,0,MV,30},{MV,60,MV,0,40},{MV,MV,30,40,0},};void Prim(int sv){if((sv>=0)&&(sv<VNUM)){int i = 0;for(i=0;i<VNUM;i++) // provide the initial Value{P[i] = sv;Cost[i] = Matrix[sv][i];Mark[i] = 0;}Mark[sv] = 1; //record the begin sv Vertex to be usedint j = 0;for(i=0;i<VNUM;i++){int min = MV;int index = -1;for(j=0;j<VNUM;j++){if((!Mark[j])&&(Cost[j]<min)) //find the min weight between Edges{min = Cost[j];index = j;}}if(index > -1){Mark[index] = 1; //record the end Vertex to be usedprintf("(%d , %d , %d)\n",P[index],index,Cost[index]);}//printf("%d\n",index);for(j=0;j<VNUM;j++) //update the initial Value :P[] & Cost[] to find the next Vertex{if(!Mark[j] && (Matrix[index][j] < Cost[j]))//从index顶点出发,到达的顶点没有被标记, (Matrix[index][j] < Cost[j])需要好好理解,P[]和Cost[]是相互联系的 {Cost[j] = Matrix[index][j]; P[j] = index;}}}}}int main(int argc, char *argv[]) {Prim(0);return 0;}
(0 , 1 , 10)
(0 , 2 , 15)
(2 , 4 , 30)
(4 , 3 , 40)
0 0
- 图的--最小-连通-网
- 最小连通网
- 最小连通网
- 【最小割】【图的点连通度】破坏图
- 无向连通网的最小生成树
- 图论 边数最小的m连通子图
- opencv 连通区域的最小外接矩形
- HDU 3072 连通分量+最小树形图
- 无向连通网的最小生成树算法[第1部分]
- 无向连通网的最小生成树算法[第2部分]
- 无向连通网的最小生成树算法[第3部分]
- 求无向连通图的最小生成树算法——Prim与Kruska
- 将无向无环连通图转换成深度最小的树
- 有向图的强连通分支以及最小点基
- 有向图的强连通分量(最小生成树)
- 将无向无环连通图转换成深度最小的树
- 求无向连通图的最小割点详解以及java源代码实现
- 求无向连通图的最小生成树算…
- MyBatis中like查询语句的使用
- import com.sun.org.apache.xerces.internal.impl.dv.util.Base64问题
- HDU 1015 Safecracker(一道很好的dfs)
- 京东PHP实习生(一面)
- XML文档解析方式与定义方式
- 图的--最小-连通-网
- 一.MariaDB 与mysql
- Centos7多版本python包不能通用问题
- jdbc
- TCP & UDP
- 替换空格
- 剑指offer之面试题8:旋转数组的最小数字
- POI之Excel单元格合并边框问题
- HDU 5665 Lucky(思维题)【BC】