博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
算法C++ 面试常考算法最小生成数 Kruskal算法和Prim算法理解(第四章)
阅读量:203 次
发布时间:2019-02-28

本文共 627 字,大约阅读时间需要 2 分钟。

文章目录


造轮子博客链接



8分钟最佳视频理解Prim算法和Kruskal算法



最小生成树我的理解


一条通路将图中所有中的点连接起来 并且其权值相加具有最小之和

不存在环的一种树状结构 就是最小生成树 这是我的理解
假如一个图中一共有v个节点 最小生成树中就有v-1条线段连接
我在网上找到了一张图帮助理解最小生成树的思考
在这里插入图片描述


Kruskal算法理解


排序


其实我觉得这个算法是相比Prim更好理解的 感觉其实就是贪心的算法

首先就是我们需要对所有有权值的边进行一个排序(降序)
然后我们从权值小的开始选取 一条边一条边插入
在这里插入图片描述


插入选取


其实唯一选取条件就是 不能使当前的连接存在环 比如当前的选取的边

7到8号节点中的权值为7的边 使2号 8号 7号 6号 5号存在了一个环 树中是不允许环的存在的 所以就舍去这条边继续看下一条边是否符合条件 直到找到v-1条边结束选取 最小生成树就出来了
在这里插入图片描述


Prim算法理解


算法理解


这个算法我也不知道像什么 能不能说成贪心呢 也好像可以

我真觉得这个东西口头上讲还是讲不清楚 还是推荐大家花个8分钟把视频给看一下

就是向外延伸 然后直到所有的点都遍历完成 每次就找我们已经存在的点向外路径最短的一条 然后使人家的点纳入我们的子集中


相关习题链接


有能力的可以去冲个力扣会员 我估计下半年的时候才会冲 因为感觉冲了会员的话 就是在付费刷题了 我怕会影响到我每天学习的节奏 我先放出链接 之后如果我刷了那道题这篇博客还会补充的

在这里插入图片描述

转载地址:http://wjni.baihongyu.com/

你可能感兴趣的文章