贪心算法——最小生成树
贪心算法——最小生成树
何为最小生成树:
如图:
通俗一点呢 就是能连通图上所有点的一条不存在环的权重总和最小的路径
求最小生成树的两种算法
1.Kruskal算法
(1)流程
a.初始化:将图
b.依次遍历排序好的边,如果边
如图
(2)割性质及其证明
此证明运用了反证法
(3)Kruskal算法具有最优子结构性质
Kruskal算法每次选择一条边e将两个不连通的图
证明:
通过反证法进行证明,假设(或者 )是 (或者 )节>点集合的最小生成树,用边e将这两个不连通图 和 连成一个树> 时: 这与
是最小生成树矛盾,引理得证。
Prim算法
(1)初始化:所有节点的
(2)将所有和当前节点直接相连的节点
(3)在剩余节点(未加入到树中),选择一个
(4)重复步骤(2)和(3),直到所有的节点都加入到
流程如图
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)