博客
关于我
算法C++ 面试常考算法最小生成数 Kruskal算法和Prim算法理解(第四章)
阅读量:205 次
发布时间: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/

你可能感兴趣的文章
mysql中int、bigint、smallint 和 tinyint的区别、char和varchar的区别详细介绍
查看>>
mysql中json_extract的使用方法
查看>>
mysql中json_extract的使用方法
查看>>
mysql中kill掉所有锁表的进程
查看>>
mysql中like % %模糊查询
查看>>
MySql中mvcc学习记录
查看>>
mysql中null和空字符串的区别与问题!
查看>>
MySQL中ON DUPLICATE KEY UPDATE的介绍与使用、批量更新、存在即更新不存在则插入
查看>>
MYSQL中TINYINT的取值范围
查看>>
MySQL中UPDATE语句的神奇技巧,让你操作数据库如虎添翼!
查看>>
Mysql中varchar类型数字排序不对踩坑记录
查看>>
MySQL中一条SQL语句到底是如何执行的呢?
查看>>
MySQL中你必须知道的10件事,1.5万字!
查看>>
MySQL中使用IN()查询到底走不走索引?
查看>>
Mysql中使用存储过程插入decimal和时间数据递增的模拟数据
查看>>
MySql中关于geometry类型的数据_空的时候如何插入处理_需用null_空字符串插入会报错_Cannot get geometry object from dat---MySql工作笔记003
查看>>
mysql中出现Incorrect DECIMAL value: '0' for column '' at row -1错误解决方案
查看>>
mysql中出现Unit mysql.service could not be found 的解决方法
查看>>
mysql中出现update-alternatives: 错误: 候选项路径 /etc/mysql/mysql.cnf 不存在 dpkg: 处理软件包 mysql-server-8.0的解决方法(全)
查看>>
Mysql中各类锁的机制图文详细解析(全)
查看>>