更新图片链接

This commit is contained in:
kama
2025-05-19 17:11:04 +08:00
parent b489cb69b5
commit ce6e658d14
315 changed files with 2499 additions and 1729 deletions

View File

@@ -63,7 +63,7 @@ kruscal的思路
依然以示例中,如下这个图来举例。
![](https://file.kamacoder.com/pics/20240111113514.png)
![](https://file1.kamacoder.com/i/algo/20240111113514.png)
将图中的边按照权值有小到大排序,这样从贪心的角度来说,优先选 权值小的边加入到 最小生成树中。
@@ -77,13 +77,13 @@ kruscal的思路
选边(1,2)节点1 和 节点2 不在同一个集合,所以生成树可以添加边(1,2),并将 节点1节点2 放在同一个集合。
![](https://file.kamacoder.com/pics/20240111114204.png)
![](https://file1.kamacoder.com/i/algo/20240111114204.png)
--------
选边(4,5)节点4 和 节点 5 不在同一个集合,生成树可以添加边(4,5) 并将节点4节点5 放到同一个集合。
![](https://file.kamacoder.com/pics/20240111120458.png)
![](https://file1.kamacoder.com/i/algo/20240111120458.png)
**大家判断两个节点是否在同一个集合,就看图中两个节点是否有绿色的粗线连着就行**
@@ -93,25 +93,25 @@ kruscal的思路
选边(1,3)节点1 和 节点3 不在同一个集合,生成树添加边(1,3)并将节点1节点3 放到同一个集合。
![](https://file.kamacoder.com/pics/20240112105834.png)
![](https://file1.kamacoder.com/i/algo/20240112105834.png)
---------
选边(2,6)节点2 和 节点6 不在同一个集合,生成树添加边(2,6)并将节点2节点6 放到同一个集合。
![](https://file.kamacoder.com/pics/20240112110214.png)
![](https://file1.kamacoder.com/i/algo/20240112110214.png)
--------
选边(3,4)节点3 和 节点4 不在同一个集合,生成树添加边(3,4)并将节点3节点4 放到同一个集合。
![](https://file.kamacoder.com/pics/20240112110450.png)
![](https://file1.kamacoder.com/i/algo/20240112110450.png)
----------
选边(6,7)节点6 和 节点7 不在同一个集合,生成树添加边(6,7),并将 节点6节点7 放到同一个集合。
![](https://file.kamacoder.com/pics/20240112110637.png)
![](https://file1.kamacoder.com/i/algo/20240112110637.png)
-----------
@@ -126,7 +126,7 @@ kruscal的思路
此时 我们就已经生成了一个最小生成树,即:
![](https://file.kamacoder.com/pics/20240112110637.png)
![](https://file1.kamacoder.com/i/algo/20240112110637.png)
在上面的讲解中,看图的话 大家知道如何判断 两个节点 是否在同一个集合(是否有绿色的线连在一起),以及如何把两个节点加入集合(就在图中把两个节点连上)
@@ -346,7 +346,7 @@ int main() {
大家可能发现 怎么和我们 模拟画的图不一样,差别在于 代码生成的最小生成树中 节点5 和 节点7相连的。
![](https://file.kamacoder.com/pics/20240116163014.png)
![](https://file1.kamacoder.com/i/algo/20240116163014.png)
其实造成这个差别 是对边排序的时候 权值相同的边先后顺序的问题导致的,无论相同权值边的顺序是什么样的,最后都能得出最小生成树。
@@ -366,7 +366,7 @@ Kruskal 与 prim 的关键区别在于prim维护的是节点的集合而 K
节点未必一定要连着边那, 例如 这个图,大家能明显感受到边没有那么多对吧,但节点数量 和 上述我们讲的例子是一样的。
![](https://file.kamacoder.com/pics/20240116152211.png)
![](https://file1.kamacoder.com/i/algo/20240116152211.png)
为什么边少的话,使用 Kruskal 更优呢?
@@ -760,3 +760,4 @@ int main()
}
```
<div align="center"><a href="https://www.nowcoder.com/link/wx_sqlcarl199" target="_blank"><img src="https://code-thinking-1253855093.file.myqcloud.com/pics/20220416223343.png" width="1000"/></a></div>