알고리즘 공부
DFS
개념
- 깊이 우선 탐색 (Depth First Search)
- 트리나 그래프에서 한 루트로 탐색하다가 특정 상황에서 최대한 깊숙히 들어가서 확인한 뒤 다시 돌아가 다른 루트로 탐색하는 방식
- 일반적으로
재귀호출
을 사용하여 구현하지만, 스택
으로도 구현할 수 있다.
- 그래프의 최대 깊이 만큼의 공간을 요구하기 때문에 공간을 적게 씀.
- 최단 경로를 탐색하기 쉽지 않다.
회고
- 최대 힙, 최소 힙 문제는 heapq사용
- 이제 감이 좀 잡히는듯?