깊이 우선 탐색 DFS(Depth First Search)
- 하나의 루트에서 탐색하다가 특정 상황에서 깊게 들어가서 확인하고 다시 돌아와서 다른 루트로 탐색하는 방법
- 백트래킹에서 사용
- 재귀, 스택으로 구현
구현 과정
- 탐색 시작 노드를 스택에 넣고 방문 처리
- 스택에서 원소를 꺼내서 방문하지 않은 인접 노드가 있을 경우 그 노드를 스택에 넣고 방문 처리
- 스택이 빌때까지 반복
DFS 문제 - 2468번 안전 영역
https://www.acmicpc.net/problem/2468
DFS 문제 - 10026번 적록색약
https://www.acmicpc.net/problem/10026
DFS 문제 - 1987번 알파벳
'CS > 자료구조&알고리즘' 카테고리의 다른 글
[알고리즘] 플로이드 와샬(Floyd Warshall) - 모든 정점의 최소 비용 (0) | 2022.09.19 |
---|---|
[알고리즘] 위상 정렬(Topological Sort) - 줄 세우기, 선수 과목 (3) | 2022.09.19 |
[알고리즘] 너비 우선 탐색 BFS(Breadth First Search) - 최단 경로 (0) | 2022.09.18 |
[알고리즘] 동적 계획법(Dynamic Programming) (0) | 2022.09.17 |
[알고리즘] 자료구조 - 스택, 큐, 덱, 힙, 우선순위 큐 (0) | 2022.09.16 |