并查集
前提是具有传递性 可逆
点之间连通后在连接就无效了(右上角图)
1.quick-find
1.1性质
- 基于染色的思想,一开始所有的点的颜色不同
- 连接两个点的操作,可以看成将一种颜色的点染成另一种颜色
- 如果两个点的颜色一样,证明连通,否则不连通
- 这种方法叫做并查集的【Quick-Find算法】
用数组arr[i] = i实现quick-find:不断的将与前面点的颜色一样的点(包含这个点)改为后面点的颜色
- 0–1:arr[0] = 1
- 1–2:arr[1] = 2, arr[0] = 2
- 2–3:arr[2] = 3, arr[1] = 3, arr[0] = 3
当a的代表元素和b的代表元素相同时,a和b相连通
连通判断时间复杂度O(1) 连通合并的时间复杂度O(n)
- quick-fin