数据结构-图论-最小生成树

1.最小生成树的概念

对于一个带权连通无向图G=V,E),生成树不同,每棵树的权(即树中所有边上的权值之和)也可能不同。设R为G的所有生成树的集合,若T为R中边的权值之和最小的生成树,则T称为G的最小生成树(Minimum-Spanning-Tree,MST)

性质:

  • 最小生成树可能有多个,但边的权值之和总是唯一且最小的
  • 最小生成树的边数=顶点数-1。砍掉一条则不连通,增加一条边则会出现回路
  • 如果一个连通图本身就是一棵树,则其最小生成树就是它本身
  • 只有连通图才有生成树,非连通图只有生成森林

2.求最小生成树

1.Prim算法

从某一个顶点开始构建生成树;

每次把代价最小的新顶点纳入生成树,直到所有顶点都纳入生成树为止。

eg:从P城开始构建最小生成树

2.kruscal算法

每次选择一条权值最小的边,连通边的两端(原本连通的不选),直到所有顶点都连通

3.总结

算法名称 基本思路 时间复杂度 适用图类型
Prim 算法 (普里姆) 从一个顶点开始,每次将代价最小的新顶点纳入生成树,直到所有顶点都纳入为止。 O(V^2) 边稠密图
Kruskal 算法(克鲁斯卡尔) 每次选择权值最小的边,使这条边的两头连通(原本已连通的边不选),直到所有结点都连通为止。 O(E*log_2E) 边稀疏图
相关推荐
Justice Young1 小时前
算法分析与设计实验:贪心法求解0/1背包问题的局限性
算法
黎阳之光1 小时前
无感定位·智管全域:黎阳之光人员无感定位管理系统,重新定义安全与效率
人工智能·物联网·算法·安全·数字孪生
小许同学记录成长1 小时前
网格简化算法 — Edge Collapse(边塌缩)
qt·算法
凯瑟琳.奥古斯特2 小时前
力扣1001网格照明解法
算法·leetcode·职场和发展
fengenrong2 小时前
20260601
算法·深度优先·图论
晚笙coding2 小时前
从“看起来像双指针”到真正的动态规划 —— 最长公共子序列
算法·动态规划
05候补工程师2 小时前
【考研高数核心突破】极限的本质、高频解题套路与海涅定理深度解析(附经典例题思维导图式拆解)
经验分享·笔记·考研·算法
智者知已应修善业2 小时前
【51单片机8个LED的花样12亮34熄56间隔78闪烁3秒3闪烁】2023-11-4
c++·经验分享·笔记·算法·51单片机
老鱼说AI2 小时前
统计学习方法第五章:从浅入深解析决策树
人工智能·深度学习·算法·决策树·机器学习·学习方法