Disjoint Set (Union find)
Disjoint set이라고도 하고 union find라고도 하는 이 방법은 어느 두 집합을 합치고, 어느 두 요소가 같은 집합에 존재하는지 빠르게 알 수 있게 하는 방법이다. Disjoint Set은 아래 두 연산을 구현한다. union(a,b)는 a가 속한 집합과 b가 속한 집합을 합치는 연산이다. find(a)는 a가 속한 집합을 반환하는 연산이다. 아래는 위 두 연산을 사용하였을 때의 예제이다. 1~5의 요소가 있다고 하자. 각 요소는 초기에 서로 다른 집합에 속한다. (1), (2), (3), (4), (5) 1이 속한 집합과 2가 속한 집합을 합치자. : union(1,2) 결과 : (1,2), (3), (4), (5) find(1) == find(2)는 true이어야 한다. find(2) =..
2023. 5. 1.