Guest User

Untitled

a guest
Nov 23rd, 2017
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.63 KB | None | 0 0
  1.  
  2. class DisjointSets {
  3.  
  4. int[] parent;
  5.  
  6. public DisjointSets(int n) {
  7. parent = new int[n];
  8. for (int i = 0; i < n; i++) {
  9. parent[i] = i;
  10. }
  11. }
  12.  
  13. public boolean isSameSet(int first, int second) {
  14. return findparent(first) == findparent(second);
  15. }
  16.  
  17. int findparent(int index) {
  18. if (parent[index] == index)
  19. return index;
  20. else
  21. return parent[index] = findparent(parent[index]);
  22. }
  23.  
  24. void union(int first, int second) {
  25. parent[first] = findparent(second);
  26. }
  27.  
  28. int noOfConnectedComp() {
  29. int count = 0;
  30. for (int i = 0; i < parent.length; i++)
  31. if (parent[i] == i)
  32. count++;
  33. return count;
  34. }
  35. }
Add Comment
Please, Sign In to add comment