Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class QuickFind {
- private int[] id;
- private int count;
- public QuickFind(int N) {
- count = N;
- id = new int[N];
- for (int i = 0; i < N; i++)
- id[i] = i;
- }
- public boolean connected(int p, int q) {
- return id[p] == id[q];
- }
- public int count() {
- return count;
- }
- // Return component identifier for component containing p
- public int find(int p) {
- return id[p];
- }
- public void union(int p, int q) {
- if (connected(p, q)) return;
- int pid = id[p];
- for (int i = 0; i < id.length; i++)
- if (id[i] == pid) id[i] = id[q];
- count--;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement