auto commit

This commit is contained in:
CyC2018
2020-11-17 00:32:18 +08:00
parent f5ad47b470
commit 7e61fc1360
380 changed files with 2371 additions and 46715 deletions

View File

@ -1,14 +1,16 @@
# 算法 - 并查集
<!-- GFM-TOC -->
* [前言](#前言)
* [Quick Find](#quick-find)
* [Quick Union](#quick-union)
* [加权 Quick Union](#加权-quick-union)
* [路径压缩的加权 Quick Union](#路径压缩的加权-quick-union)
* [比较](#比较)
* [算法 - 并查集](#算法---并查集)
* [前言](#前言)
* [Quick Find](#quick-find)
* [Quick Union](#quick-union)
* [加权 Quick Union](#加权-quick-union)
* [路径压缩的加权 Quick Union](#路径压缩的加权-quick-union)
* [比较](#比较)
<!-- GFM-TOC -->
# 前言
## 前言
用于解决动态连通性问题能动态连接两个点并且判断两个点是否连通
@ -43,7 +45,7 @@ public abstract class UF {
}
```
# Quick Find
## Quick Find
可以快速进行 find 操作也就是可以快速判断两个节点是否连通
@ -85,7 +87,7 @@ public class QuickFindUF extends UF {
}
```
# Quick Union
## Quick Union
可以快速进行 union 操作只需要修改一个节点的 id 值即可
@ -126,7 +128,7 @@ public class QuickUnionUF extends UF {
<div align="center"> <img src="https://cs-notes-1256109796.cos.ap-guangzhou.myqcloud.com/23e4462b-263f-4d15-8805-529e0ca7a4d1.jpg" width="100"/> </div><br>
# 加权 Quick Union
## 加权 Quick Union
为了解决 quick-union 的树通常会很高的问题加权 quick-union union 操作时会让较小的树连接较大的树上面
@ -178,11 +180,11 @@ public class WeightedQuickUnionUF extends UF {
}
```
# 路径压缩的加权 Quick Union
## 路径压缩的加权 Quick Union
在检查节点的同时将它们直接链接到根节点只需要在 find 中添加一个循环即可
# 比较
## 比较
| 算法 | union | find |
| :---: | :---: | :---: |
@ -190,10 +192,3 @@ public class WeightedQuickUnionUF extends UF {
| Quick Union | 树高 | 树高 |
| 加权 Quick Union | logN | logN |
| 路径压缩的加权 Quick Union | 非常接近 1 | 非常接近 1 |
<div align="center"><img width="320px" src="https://cs-notes-1256109796.cos.ap-guangzhou.myqcloud.com/githubio/公众号二维码-2.png"></img></div>