[알고리즘] 서로소 집합(Disjoint-set): Union-Find Algorithm
·
CS/알고리즘
0. 서로소 집합서로소(상호배타) 집합은 서로 중복 포함된 원소가 없는 집합이다. 즉, 교집합이 없는 집합을 의미한다.집합에 속한 하나의 특정 멤버를 통해 각 집합들을 구분하며 이를 대표자(representative)라 한다.서로소 집합을 표현하는 방법연결 리스트트리 → 구현이 쉬움서로소 집합 연산Make-Set(x) - 유일한 멤버 x를 포함하는 새로운 집합을 생성 (서로소 집합 초기화 작업)Find-Set(x) - x를 포함하는 집합을 찾는 연산 (대표자 탐색)Union(x, y) - x와 y를 포함하는 두 집합을 통합하는 연산1. 서로소 집합 표현1-1. 연결 리스트같은 집합의 원소들은 하나의 연결 리스트로 관리한다.연결 리스트의 맨 앞의 원소를 집합의 대표 원소로 삼는다.각 원소는 집합의 대표원소..