1. 깊이 우선 탐색 (DFS, Depth-First Search)
- 한 우물부터 깊이 판다.
- 스택 이용
Ex)
java
열기
2. 너비 우선 탐색 (BFS, Breadth-First Search)
- 여러 우물을 동시에 같은 깊이로
- 큐를 이용한다.
- 최단경로찾기에 적합하다.
- 재귀적으로 이용하기 힘듦.
Ex)
java
열기
3. DFS와 BFS 비교
- DFS: 자식부터 탐색/ 메모리 사용량이 적다. / 캐시 메모리에 적합 / 병렬처리에 적합
- BFS: 이웃부터 탐색/ 최소 깊이의 결과를 찾는다. / 깊이가 무한인 트리에도 사용가능
'자료구조와 알고리듬 With Java > [프로그래머스] Algorithm' 카테고리의 다른 글
Part 03 Map (0) | 2022.03.22 |
---|---|
Part 02 Array와 List (0) | 2022.03.21 |
Part 01 시작하기 (0) | 2022.03.21 |
동적 계획법, 그리고 알고리즘 (0) | 2022.03.20 |
트리, 이진 탐색 트리, 레드-블랙 트리 (0) | 2022.03.17 |