【Algorithms 4】算法(第4版)学习笔记 17 - 4.3 最小生成树

前言

本篇主要内容包括:贪心算法加权边 APIKruskal 算法 以及 Prim 算法

参考目录

  • B站 普林斯顿大学《Algorithms》视频课
    (请自行搜索。主要以该视频课顺序来进行笔记整理,课程讲述的教授本人是该书原版作者之一 Robert Sedgewick。)
  • 微信读书《算法(第4版)》
    (本文主要内容来自《4.3 最小生成树》)
  • 官方网站
    (有书本配套的内容以及代码)

学习笔记

注1:下面引用内容如无注明出处,均是书中摘录。
注2:所有 demo 演示均为视频 PPT demo 截图。
注3:如果 PPT 截图中没有翻译,会在下面进行汉化翻译,因为内容比较多,本文不再一一说明。

开篇语:

Today, we’re gonna talk about minimum spanning trees. This is a terrific topic for this course, because it combines a number of classic algorithms with modern data structures to solve a variety of huge problems that are important in practical applications nowadays.

今天,我们要讨论的是最小生成树这一主题,这对于本课程而言是一个绝佳的话题,因为它结合了多种经典算法以及现代数据结构,用于解决当今实际应用中一系列规模庞大且重要的问题。

1:介绍

1.1:定义

![image-20240311113055995]

定义: 一个图 G 的生成树 T 是指这样一个子图:

  • 连通的(Connected):从任一顶点出发可以到达其他所有顶点。
  • 无环的(Acyclic):不存在任何闭合的回路。
  • 包含所有顶点(Includes all of the vertices):图 G 中的每一个顶点都在生成树 T 中。

![image-20240312085713462]

1.2:应用

![L14-43MinimumSpanningTrees_12]

最小生成树(MST)问题是具有广泛实际应用的基础问题,包括但不限于以下几个方面:

  • 颗粒化(Dithering)技术。
  • 聚类分析(Cluster analysis)。
  • 最大瓶颈路径(Max bottleneck paths)问题求解。
  • 实时人脸识别验证(Real-time face verification)算法。
  • 采用低密度奇偶校验码(LDPC codes)进行错误校正。
  • 利用 Rényi 熵进行图像配准(Image registration)。
  • 在卫星和航空影像中寻找道路网络(Find road networks)。
  • 在蛋白质氨基酸序列测定中减少数据存储量。
  • 模拟湍流流体中粒子相互作用的局部性(Model locality of particle interactions in turbulent fluid flows)。
  • 以太网桥接自配置协议(Autoconfig protocol)避免网络中形成环路。
  • 近似算法用于解决NP难问题(例如,旅行商问题[TSP],Steiner树问题)。
  • 各种网络设计(包括通信网络、电力网络、液压网络、计算机网络、道路交通网络等)。

2:贪心算法 greedy algorithm

2.1:简化假设

![L14-43MinimumSpanningTrees_14]

2.2:切分定理

![L14-43MinimumSpanningTrees_15]

(这一部分参照书里面的内容)

![image-20240312092751990]

![image-20240312092900141]

![image-20240312093007272]

2.3:demo 演示

![image-20240312101237526]

对应书本命题 K:

![image-20240312101259580]

初始状态:

![image-20240312101532357]

切分后:

![image-20240312102300923]

边 0 - 2 标记为黑色,继续切分:

![image-20240312141550499]

边 5 - 7 标记为黑色,继续切分:

![image-20240312141703824]

边 6 - 2 标记为黑色,继续切分:

![image-20240312142035609]

边 0 - 7 标记为黑色,继续切分:

![image-20240312142159507]

边 2 - 3 标记为黑色,继续切分:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

MichelleChung

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值