收藏 分销(赏)

c语言实现最小生成树算法.doc

上传人:s4****5z 文档编号:9435900 上传时间:2025-03-26 格式:DOC 页数:3 大小:51.50KB
下载 相关 举报
c语言实现最小生成树算法.doc_第1页
第1页 / 共3页
c语言实现最小生成树算法.doc_第2页
第2页 / 共3页
点击查看更多>>
资源描述
最小生成树算法 C语言代码如下: #include<stdio.h> #include<windows.h> #define TURE 999 typedef struct ArcNode { char vexs[10]; int edgs[10][10]; int n,e; }MGraph; struct edg{ int v1; int v2; int cost; }A[10],B[10]; //创建图 void GreateMGraph(MGraph *G) { int i,j,k,weight,m,n; int ch1,ch2; char a,b; printf("请输入顶点数和边数(格式如4):"); scanf("%d %d",&(G->n),&(G->e)); //输入顶点数,边数 for(i=0;i<G->n;i++) { getchar(); printf("请输入第%d个顶点:",i+1); scanf("%c",&(G->vexs[i])); //输入¨顶点 } for(i=0;i<G->n;i++) for(j=0;j<G->n;j++) G->edgs[i][j]=0; for(k=0;k<G->e;k++) { printf("请输入第%d条边的顶点权值(格式如¨i j):",k+1); getchar(); scanf("%c %c %d",&a,&b,&weight); m=0;n=0; for( m=0;G->vexs[m]!=a;m++); for( n=0;G->vexs[n]!=b;n++); ch1=m;ch2=n; G->edgs[ch1][ch2]=weight;G->edgs[ch2][ch1]=weight; } } void prim(MGraph *G, int v) { int i,j,k,min; struct { int adjvex; int lowcost; } closedge[10]; for (i=0;i<G->n;i++) { closedge[i].lowcost=G->edgs[v][i]; closedge[i].adjvex=v; } closedge[v].lowcost=TURE; for (i=1;i<G->n;i++) { min=100; for(j=0;j<G->n;j++) if (closedge[j].lowcost!=TURE && closedge[j].lowcost!=0) { if (closedge[j].lowcost<min) { min=closedge[j].lowcost; k=j; } } printf("(%c,%c,%d) ", G->vexs[closedge[k].adjvex], G->vexs[k], min); closedge[k].lowcost=TURE; for (j=0;j<G->n;j++) if (closedge[j].lowcost!=TURE) if(G->edgs[k][j]<closedge[j].lowcost||closedge[j].lowcost==0 ) { closedge[j].lowcost=G->edgs[k][j]; closedge[j].adjvex=k; } } } int main(void) { MGraph *G,a; char ch1; G=&a; printf("建立图的邻接矩阵\n"); GreateMGraph(G); getchar(); ch1=1; printf("\n"); printf("最小生成树 " ); printf("prim算法输出为a:"); prim(G,0); system("pause"); } 运行结果截图: 在线编译成功;
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 教育专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服