6.2. Implementation
This sections discusses the implementation of disjoint sets.
public class DisjointSet {
private final int[] subsets;
public DisjointSet(int size) {
subsets = new int[size];
Arrays.fill(subsets, -1);
}
public DisjointSet(DisjointSet set) {
subsets = Arrays.copyOf(set.subsets, set.subsets.length);
}
}public int find(int id) {
return (subsets[id] < 0) ? id : find(subsets[id]);
}public int find(int id) {
return (subsets[id] < 0) ? id : (subsets[id] = find(subsets[id]));
}Last updated
Was this helpful?