Union-Find 알고리즘
Disjoint Set Disjoint Set이란, 서로 중복되지 않는 부분 집합(서로소 집합)들로 나누어진 것을 의미한다. 집합을 구현하는 방법은 벡터, 배열, 연결리스트 등을 이용할 수 있으나 가장 효율적인 트리 구조를 이용하여 표현한다. Union Find Disjoint Set을 표현할 때 사용하는 알고리즘이 Union Find 알고리즘이다. ◎ Union(x, y) -> x가 속한 집합과 y과 속한 집합을 합치는 연산을 수행한다 ◎ Find(x) → x가 속한 집합의 대푯값을 반환하는 연산을 수행한다. x가 어떤 집합에 속해 있는지 찾아주는 연산으로 트리를 이용해서 구현하는 방법이 대부분이므로 대푯값은 루트 노트 번호를 의미한다 알고리즘의 진행상황을 처음부터 그림으로 한 번 살펴보자면 ① 초기 ..