728x90
반응형
유니온 파인드(Union Find) 란? |
- 2가지 연산으로 이루어져 있다.
1. Find x : x가 어떤 집합에 포함되어 있는지 찾는 연산 2. Union : x와 y가 포함되어 있는 집합을 합치는 연산 |
- 구현은 트리를 이용한다.
- 가장 처음에는 parent[i] = i로 초기화한다.
[ find 의 구현 ]
//find의 구현
int find(int x)
{
if(x == parent[x])
{
return x;
}
else
{
return find(parent[x]) = find(parent[x]);
}
}
[ union의 구현 ]
//union의 구현
//uniond(x, y) : y의 parent를 x로 설정한다.
int union(int x, int y)
{
x = find(x);
y = find(y);
parent[y] = x;
}
유니온 파인드 - 집합의 표현 |
유니온 파인드 - 바이러스 |
유니온 파인드 - 여행 가자 |
유니온 파인드 - 공항 |
유니온 파인드 - 친구 네트워크 |
반응형
'C언어 자료구조' 카테고리의 다른 글
[ccw] ccw - 선분교차 (0) | 2023.08.03 |
---|---|
[비트 마스크] 비트 마스크란? - 4문제 (0) | 2022.07.02 |
[트리 1일차] 트리의 정의 및 용어 (0) | 2021.03.04 |
[우선순위 큐 1일차] - 9문제 (0) | 2021.02.25 |
[우선순위 큐 2일차] - 9문제 (0) | 2021.02.22 |