집합(Disjoint Set)


집합(Disjoint Set)

집합의 개념 해당 장에서 말하는 집합은 상호배타적 집합Disjoint Set인 즉 분리형 집합 데이터 구조를 말합니다. 풀어서 말하면, 여러개의 원소들로 이루어진 집합이 존재할때, 이중 서로 겹치지 않는 부분 집합 들로 이루어진 집합 구조를 의미합니다. 각 부분집합들은 독립적이며, 서로 다른 부분집합에 속한 원소가 존재하지 않습니다. 예를들어보면, 아래는 상호베타적 집합을 형성한다고 볼 수 있습니다. 왜냐하면 집합A과 집합B는 서로 독립적이고, 각 원소가 다른 집합에 속하지 않기 때문 입니다. [그림]상호배타적 집합의 예시 아래는 상호베타적 집합을 형성했다고 볼 수 없습니다. 왜냐하면 집합A의 원소 5는 집합B에도 존재하기 때문에, 서로 독립적인 관계라고 할 수 없습니다. 겹치는 원소가 하나도 없어야 합니다. [그림] 상호배타적 집합이 아닌 예시 이런 방식으로 전체집합을 상호베타적 집합으로 쪼개는 알고리즘은, 실제 어떤분야에서 활용될 수 있을까요? 일단 이미지 분할에 사용될 수 있습...


#자료구조 #집합 #프로그래밍

원문링크 : 집합(Disjoint Set)