Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class DisjointSets {
- int[] parent;
- public DisjointSets(int n) {
- parent = new int[n];
- for (int i = 0; i < n; i++) {
- parent[i] = i;
- }
- }
- public boolean isSameSet(int first, int second) {
- return findparent(first) == findparent(second);
- }
- int findparent(int index) {
- if (parent[index] == index)
- return index;
- else
- return parent[index] = findparent(parent[index]);
- }
- void union(int first, int second) {
- parent[first] = findparent(second);
- }
- int noOfConnectedComp() {
- int count = 0;
- for (int i = 0; i < parent.length; i++)
- if (parent[i] == i)
- count++;
- return count;
- }
- }
Add Comment
Please, Sign In to add comment