一、并查集
并查集(Union/Find)是一种树形的数据结构,用于处理一些不相交集合(Disjoint Sets)的合并及查询问题。常常在使用中以森林来表示。
二、使用场景
- 某个元素和另一个元素是否属于一个集合:只要看find(x)和find(y)是否返回同一个代表即可。
- 判断无向图的连通分量个数。
三、并查集主要操作
- 初始化:把每个点所在的集合初始化为自身。
- 查找(Find):查找元素所在的集合的根节点。
- 合并(Union):将两个元素所在的集合合并为一个集合。
- 集:合并后,采用压缩路径算法更新点的Father节点。