最小生成树
1.最小生成树定义:
一个有 n 个结点的连通图的生成树是原图的极小连通子图,且包含原图中的所有 n 个结点,并且有保持图连通的最少的边。
通俗易懂的讲就是最小生成树包含原图的所有节点而只用最少的边和最小的权值距离
将最小生成树拆分成: 最小 生成 树
树:
• 树中没有环
• 所有的顶点都要在树中
• 对于N条顶点,有N-1条边
最小:
一个图,可以有很多生成树,我们把一棵树的权值相加,得到权值和。因此不同的生成树就会有不同的权值和,而最小生成树就是权值和最小生成树。
普利姆算法(Prim)
朴素版Prim O(n^2) 稠密图 这个常用
堆优化版Prim O(mlogn) 稀疏图 不常用
克鲁斯卡尔算法(Kruskal) O(mlogm) 稀疏图这个常用
朴素版Prim(与dijkstra相似)
dis [ i ] <- 很大数
for 循环,迭代n次
t <- 找到集合外距离集合最近的点
用t 更新其他点到集合的距离
Str [ t ] = true
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】