并查集代码模板

java

class UnionFind {
private int count = 0;
private int[] parent;

public UnionFind(int n) {
count = n;
parent = new int[n];
for (int i = 0; i < n; i++) {
parent[i] = i;
}
}

public int find(int p) {
while (p != parent[p]) {
parent[p] = parent[parent[p]];
p = parent[p];
}
return p;
}

public void union(int p, int q) {
int rootP = find(p);
int rootQ = find(q);
if (rootP == rootQ) return;
parent[rootP] = rootQ;
count--;
}
}

python

并查集代码模板--java--python--C/C++ ---  javaScript_并查集

C/C++

并查集代码模板--java--python--C/C++ ---  javaScript_javascript_02

并查集代码模板--java--python--C/C++ ---  javaScript_算法_03

并查集代码模板--java--python--C/C++ ---  javaScript_java_04

JAVAScript

并查集代码模板--java--python--C/C++ ---  javaScript_leetcode_05