云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 数据结构,最小生成树克鲁斯卡尔算法的实现

数据结构,最小生成树克鲁斯卡尔算法的实现

  • 62 次阅读
  • 3 次下载
  • 2025/5/3 22:48:48

k=j; } }

if (t[e[k].vexh].jihe!=t[e[k].vext].jihe) {

e[k].flag=1;

for (j=1;j<=G->n;j++)

if (t[j].jihe==t[e[k].vext].jihe) t[j].jihe=t[e[k].vexh].jihe; t[e[k].vext].jihe=t[e[k].vexh].jihe; i++;

} else e[k].flag=2; }

printf(\克鲁斯卡尔最小生成树:\\n\ for (i=0;ie;i++) if (e[i].flag==1)

printf(\%d\\n\输出最小生成树 }

该步骤应用的是克鲁斯卡尔算法,它的基本思想是:每次选不属于同一连通分量(保证不生成圈)且边权值最小的顶点,将边加入MST(Minimum Spanning Tree最小生成树),并将所在的2个连通分量合并,直到只剩一个连通分量。

7

流程如图4.2所示。

8

开始请输入该图的顶点数和边数G.e>(G.n-1)*G.n/2输入错误,请重新输入请输入该图的顶点信息i=1i<=G.ni++getchar();scanf(\(G.vexs[i]))i=1i++i<=G.nj=1j<=G.nj++ G.edges[i][j].w=0请输入该图每条边对应的两个顶点的名称K=1k<=G.e请输入第%d条边的顶点序号请输入第%d条边的权值K++大小i=1ch1!=G.vexs[i]j=1i++ch2!=G.vexs[j]return Gj++e[p].vexh=i;e[p].vext=j; e[p].weight=G.edges[i][j].w=ch3; //权值 e[p].flag=0;p++;结束图4.1

9

开始i=1i++i<=G->nt[i].data=G->vexs[i];t[i].jihe=i;i=1inmin=MaxVertexNum;j=0j++jee[j].weightnt[j].jihe==t[e[k].vext].jihet[j].jihe=t[e[k].vexh].jihe; t[e[k].vext].jihe=t[e[k].vexh].jihe; i++;i=0i++iee[i].flag==1输出最小生成树结束图4.2

10

  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

k=j; } } if (t[e[k].vexh].jihe!=t[e[k].vext].jihe) { e[k].flag=1; for (j=1;jn;j++) if (t[j].jihe==t[e[k].vext].jihe) t[j].jihe=t[e[k].vexh].jihe; t[e[k].vext].jihe=t[e[k].vexh].jihe; i++; } else e[k].flag=2; } printf(\克鲁斯卡尔最小生成树:\\n\ for (i=0;ie;i++) if (e[i].flag==1) printf(\

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com