Union-Find(Disjoint Set Union, 서로소 집합)는 원소들을 서로소 집합으로 분할하여 추적하며 거의 O(1)인 두 연산을 지원합니다. find(x는 어느 집합에 있는가?)와 union(두 집합을 병합)입니다. 연결성 질의에 탁월합니다.
개념
각 집합은 대표 루트를 가진 트리입니다. **path compression(경로 압축)**과 **union by rank/size(랭크/크기 기준 합치기)**를 사용하면 연산이 거의 상수의 시간(역 Ackermann, α(n))에 실행됩니다.
