当前位置:网站首页 > R语言数据分析 > 正文

prim算法代码详解(prim算法adjvex)



 1 void MiniSpanTree_Prim(MGragh G)  2 {  3 int mini,i,j,k;  4 int adjvex[MAXVEX]; //保存相关顶点下标  5 int lowcost[MAXVEX]; //保存相关顶点间边的权值  6 lowcost[0] = 0;//这里把第0位的权值置0表示v0已加入生成 7 //ps:lowcost[i] = 0 表示i那个下标的顶点加入生成树  8 adjvex[0] = 0; //初始化第一个顶点的下标为0  9 for(i = 0; i < G.numVertexes; i++) 10  { 11 lowcost[i] = G.arc[0][i];//将vo相关顶点的权值存入lowcost数组 12 adjvex[i] = 0;//置所有下标为v0 13  } 14 for(i = 1; i < G.numVertexes; i++) //最小生成树开始辽 15  { 16 mini = INFITINY; //先把权值的最小值置为无限大 17 j = 1; 18 k = 0; 19 while(j < G.numVertexes) 20  { 21 if(lowcost[j] != 0 && lowcost[j] < mini)//判断并向lowcost中添加权值 22  { 23 mini = lowcost[j]; 24 k = j; 25  } 26 j++; 27  } 28 printf("(%d %d)",lowcost[k],k); 29 lowcost[k] = 0;//置0表示这个定点已经完成任务,找到最小权值分支 30 for(j = 1; j < G.numVertexes; j++) 31  { 32 if(lowcost[j] != 0 && G.arc[k][j] < lowcost[j]) 33  { 34 lowcost[j] = G.arc[k][j]; 35 adjvex[j] = k; 36  } 37  } 38  } 39 }
到此这篇prim算法代码详解(prim算法adjvex)的文章就 介绍到这了,更多相关内容请继续浏览下面的相关 推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • tldraw(tldraw多人协作打不开)2026-01-15 15:36:05
  • spark面试题及答案100道(spark面试题目)2026-01-15 15:36:05
  • uchar code seg啥意思(uchar code sz)2026-01-15 15:36:05
  • ar是什么意思(ar是什么意思英语)2026-01-15 15:36:05
  • Tornadoes绘本(the tortoise and the eagle绘本)2026-01-15 15:36:05
  • aurora是什么牌子手表是哪国的(aouaracer是什么牌子手表)2026-01-15 15:36:05
  • uchar code dis_code什么意思(uchar code table1)2026-01-15 15:36:05
  • 停用“distributed transaction coordinator”服务(停用“distributed transaction coordinator”服务)2026-01-15 15:36:05
  • spring视频教程(spring讲解视频全集)2026-01-15 15:36:05
  • 在虚拟机中安装win11(在虚拟机中安装windows server2019)2026-01-15 15:36:05
  • 全屏图片