티스토리 뷰
DFS와 BFS
DFS(Depth-First Search)와 BFS(Breadth-First Search)는 그래프 탐색 알고리즘으로, 각각 다른 방식으로 노드를 탐색하면서 그래프의 모든 노드를 방문하는데 사용된다. 각각의 특징과 장단점을 살펴보자.
시간복잡도
- 두 방식 모두 조건 내의 모든 노드를 검색한다는 점에서 시간 복잡도는 동일하다.
- DFS와 BFS 둘 다 다음 노드가 방문하였는지를 확인하는 시간과 각 노드를 방문하는 시간을 합한다.
DFS | BFS | |
장점 |
|
|
단점 |
|
|
문제유형 | |
DFS | BFS |
경로에 특정 조건을 부여하여 확인하는 문제 * 경로의 중복된 값을 제거하는 문제 검색 대상이 큰 문제 |
미로 찾기 최단경로 찾기 검색 규모가 크지 않은 탐색 검색 시작점과 목표가 가까운 탐색 |
'Computer > Algorithm' 카테고리의 다른 글
[알고리즘] 분할 정복 알고리즘 (Divide-and-Conquer Algorithm) (0) | 2023.08.01 |
---|---|
[알고리즘] 알고르즘 복잡도 (0) | 2023.08.01 |
[알고리즘] 너비 우선 탐색 (BFS, Breadth-First Search) (0) | 2023.07.31 |
[알고리즘] 깊이우선 탐색 (DFS, Depth-First Search) (0) | 2023.07.31 |
[알고리즘 / 분할정복] #1 합병 정렬 (Merge Sort) (0) | 2021.04.16 |