[ 유니온 파인드 ] 유니온 파인드 이론 정리
·
알고리즘/알고리즘 공부
유니온 파인드(또는 Disjoint Set Union, DSU)는 서로소 집합(Disjoint Set)을 다룰 때 사용하는 자료구조다. 주로 무방향 그래프의 사이클 판별이나 크루스칼 알고리즘을 활용한 최소 신장 트리(MST) 문제에서 자주 사용된다. 1. 유니온 파인드의 핵심 아이디어여러 개의 원소가 있을 때, 이들을 서로소 집합(즉, 겹치지 않는 집합)으로 분리하여 관리한다.두 원소가 같은 집합에 속하는지 확인하거나, 두 집합을 합치는 연산을 지원한다.대표적으로 사용하는 연산은 아래 두 가지다:find(x) : 원소 x가 속한 집합의 루트(대표값)를 찾는다.union(x, y) : 원소 x, y가 속한 두 집합을 하나로 합친다. 2. 기본 구현 # 부모 테이블 초기화parent = [i for i in..