Advertisement
Guest User

Untitled

a guest
Oct 20th, 2019
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.67 KB | None | 0 0
  1. public class QuickFind {
  2. private int[] id;
  3. private int count;
  4.  
  5. public QuickFind(int N) {
  6. count = N;
  7. id = new int[N];
  8. for (int i = 0; i < N; i++)
  9. id[i] = i;
  10. }
  11.  
  12. public boolean connected(int p, int q) {
  13. return id[p] == id[q];
  14. }
  15.  
  16. public int count() {
  17. return count;
  18. }
  19.  
  20. // Return component identifier for component containing p
  21. public int find(int p) {
  22. return id[p];
  23. }
  24.  
  25. public void union(int p, int q) {
  26. if (connected(p, q)) return;
  27. int pid = id[p];
  28. for (int i = 0; i < id.length; i++)
  29. if (id[i] == pid) id[i] = id[q];
  30. count--;
  31. }
  32. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement