Union-Find(Disjoint Set) 알고리즘: 동적 연결성 문제와 최적화

동적 연결성 동적 연결성(Dynamic Connectivity) 문제는 객체들 사이의 연결 관계가 순차적으로 입력으로 주어질 때, 임의의 두 객체가 서로 같은 집합에 속하는지를 빠르게 판단하는 문제다. 이 때 "연결됨"은 다음 세 가지 조건을 만족하는 동치 관계(Equivalence Relation)로 볼 수 있다. 반사성: 모든 객체는 자기 자신과 연결된다. 대칭성: p가 q와 연결되 ...

9월 2일 01:24에 게시됨

유니온 파인드와 크루스칼 알고리즘을 이용한 최소 신장 트리 구현

유니온 파인드 (Disjoint Set Union) 유니온 파인드는 서로소 집합을 효율적으로 관리하기 위한 자료구조입니다. 각 집합을 트리 형태로 표현하며, 트리의 루트 노드가 해당 집합의 대표 원소가 됩니다. 핵심 연산 초기화 (Initialize): 각 원소를 자신을 루트로 하는 독립적인 집합으로 설정합니다. type DisjointSet struct { root []int rank []int } fun ...

9월 1일 21:39에 게시됨

자바로 구현하는 서로소 집합(Union-Find) 자료구조와 경로 존재 여부 판별

서로소 집합(Union-Find) 자료구조의 이해 서로소 집합(Disjoint Set) 또는 유니온-파인드(Union-Find)는 그래프 이론에서 두 원소가 동일한 집합에 속하는지 판별하거나, 동적 연결 상태를 관리하는 데 특화된 자료구조입니다. 핵심 원리 및 동작 방식 1차원 배열을 사용하여 트리 구조를 표현하며, 각 인덱스는 노드를 의미하고 저장된 값은 해당 노드의 부모를 나타냅 ...

7월 7일 05:14에 게시됨