2023.04.18

2023. 4. 18. 23:45회고록

728x90

그래프변태가 돼었다...

기본 탐색은 골3 정도까지는 건드려 볼 수 있는 수준이 된 것 같아 그래프를 졸업하고 정렬을 들어갈까 했지만 그래프 이론이라는 파트가 따로 있어서 그 부분을 먼저 건드려 본 다음에 다른 것을 해보기로 했다.

앞으로 할 그래프 이론 알고리즘은 아래와 같다.

 

1. 분리집합, 서로소 집합(Disjoint Sets, Union-Find)

2. 신장 트리 (MST, LST)

3. 크루스칼 알고리즘

4. 위상 정렬 알고리즘

 

오늘은 네가지 알고리즘 중 분리집합에 대해 공부했고, 기본 문제 하나를 풀어보았다.

 

1717번: 집합의 표현

초기에 $n+1$개의 집합 $\{0\}, \{1\}, \{2\}, \dots , \{n\}$이 있다. 여기에 합집합 연산과, 두 원소가 같은 집합에 포함되어 있는지를 확인하는 연산을 수행하려고 한다. 집합을 표현하는 프로그램을 작

www.acmicpc.net

두가지 연산을 하는데 Union(합집합)과 Find(찾기)를 통해서 자신이 속한 트리의 루트노드를 재귀적으로 찾는 알고리즘이다.

최소 신장 트리를 찾는 크루스칼 알고리즘에서 사용하므로 매우 중요하다고 볼 수 있으며, 아이디어 또한 간단하여 구현하기 크게 어렵지 않았다.

우선 골5 문제를 풀었고 오늘은 시간이 부족하므로 다음 문제를 모두 푼다면 다른 알고리즘으로 넘어갈 생각이다.

추천 문제

 

 

 

 

 

 

 

 

 

 

 

 

 

 

728x90

'회고록' 카테고리의 다른 글

2023.04.17  (0) 2023.04.27
2023.04.23  (0) 2023.04.22
2023.04.13  (0) 2023.04.13
2023.04.10 오랜만에 회고록  (0) 2023.04.10
2023.04.01  (0) 2023.04.01