서로소 집합(상호베타 집합)이란?
중복되는 원소가 없는 집합
교집합이 공집합인 집합
-> 집합에 속한 특정 멤버(대표자)를 통해 집합을 구분
Make-Set(x):
p[x] <- x
Find-Set(x):
if x == p[x] : return x
else : return Find_Set(p[x])
Union(x,y):
if Find-Set(y) == Find-Set(x) return;
p[Find-Set(y)] <- Find-Set(x)
Find-Set(x):
if x == p[x] : return x
else : return p[x] = Find_Set(p[x])