Programming/자료 구조
DFS / BFS
시나민
2023. 4. 25. 21:35
DFS (Depth-First Search)
DFS란 깊이 우선 탐색으로 그래프를 탐색하는 방법의 하나이다.
위의 그림과 같이 최대한 깊이 내려간 뒤, 더 이상 내려갈 곳이 없을 경우 옆 노드로 이동하여 탐색하는 방법이다.
DFS의 특징
- Stack의 자료구조
- 재귀 함수를 이용하여 구현
- 그래프의 깊이가 깊을수록 빠름
BFS (Breadth-First Search)
BFS란 넓이 우선 탐색으로 그래프를 탐색하는 방법의 하나이다.
위 그림과 같이 최대한 인접 노드를 탐색한 후 더 이상 갈 수 없을 때 하위 노드를 탐색하는 방법이다.
BFS의 특징
- Queue 자료 구조
- Queue를 이용하여 구현
- 찾는 노드가 인접할 때 유리
- 노드가 많을수록 메모리 소비가 큼