Union-Find 알고리즘이란? Union-Find 알고리즘은 그래프 알고리즘 중 하나로 서로소 집합, 상호배타적 집합(Disjoint-Set)알고리즘이라고도 불린다. 여러 노드가 존재할 때, 선택한 두 노드가 서로 같은 그래프에 속하는지 판별하는 알고리즘이다. Union-Find 과정 1) Init for(int i = 0; i < parent.length; i++) parent[i] = i; 초기화. 최초 노드는 자기자신을 루트노드로 가진다. 1) Find(x) // x가 속한 그래프의 루트 노드를 반환 static int find(int x) { // x의 루트노드가 x일 경우. 즉, x와 연결된 노드가 없을 경우. if(x == parent[x]) return x; // 재귀를 이용해 부모노드 ..