DFS?
다차원 배열에서 각 칸을 방문할 때 깊이를 우선으로 방문하는 알고리즘
예시
1. 시작하는 칸을 스택에 넣고 방문했다는 표시를 남김
2. 스택에서 원소를 꺼내어 그 칸과 상하좌우로 인접한 칸에 대해 3번을 진행
3. 해당 칸을 이전에 방문했다면 아무 것도 하지 않고, 처음으로 방문했다면 방문했다는 표시를 남기고 해당 칸을 스택에 삽입
4. 스택이 빌 때 까지 2번을 반복
모든 칸이 스택에 1번씩 들어가므로 시간복잡도는 칸이 N개일 때 O(N).
BFS vs DFS
거리 측정은 BFS만 할 수 있다.
출처
'Algorithm > 알고리즘 개념 정리' 카테고리의 다른 글
[실전 알고리즘] 백트래킹 (0) | 2022.09.15 |
---|---|
[실전 알고리즘] 재귀 (0) | 2022.09.07 |
[실전 알고리즘] BFS (0) | 2022.08.30 |
[실전 알고리즘] 스택의 활용(수식의 괄호 쌍) (0) | 2022.08.15 |
[실전 알고리즘] 덱 (0) | 2022.08.13 |
댓글