图的应用—最小生成树

 我来答
黑色记忆啊9757
2022-06-14 · TA获得超过1860个赞
知道小有建树答主
回答量:554
采纳率:100%
帮助的人:64.3万
展开全部

连通图的生成树定义:
连通图的生成树是一个极小的连通 子图 ,它含有图中全部的 n个顶点 ,但只足已构成一棵树的 n-1条边

把构成联通网的最小代价的生成树成为最小生成树。

图中粗线部分,便是联通了全部顶点 代价最小的生成树。
那如何构建一个最小生成树?

从一个顶点V0开始,不断选取未遍历的边中权值最小的边。

注意:
更新lowcost 数组与adjvex 数组的条件:

创建一个图:

最小生成树:

测试:

全局贪婪最小权值的边(通过排序),同时防止形成环。

如何防止形成环:

1: 通过一个数组,记录边的开头和结尾沿着路径到达尾部的时候的顶点。
2: 遍历边,判断边的开头和结尾沿着路径到达尾部的时候,是否会来到同一个顶点。
3: 如果来到同一个顶点,说明形成环。
4: 如果来到了不同的顶点,说明没有形成环。

遍历越靠后,n = m 的几率越来越大,后入树的顶点很容易与之前的顶点形成闭环。

边表数组结构,使用上边创建的邻接矩阵的图。

kruskal算法实现:

测试:

get:parent数组+Find函数,防止了图中新加入的顶点与已加入的顶点形成闭环。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
博思aippt
2024-07-20 广告
博思AIPPT是基于ai制作PPT的智能在线工具,它提供了4种AI制作PPT的方式,包括AI生成大纲、AI直接生成PPT、文本生成PPT、AI提炼文档生成PPT,一站式集成多种AI生成PPT的方式,可满足办公用户的不同需求和使用场景。ai生... 点击进入详情页
本回答由博思aippt提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式