Algorithm/Concept
[Algorithm] DFS 와 BFS 의 동작 과정 간단 비교
운호(Noah)
2022. 6. 5. 00:43
DFS
- DFS 는 스택 자료구조를 이용하며, 구체적인 동작 과정은 다음과 같습니다.
- 탐색 시작 노드를 스택에 삽입하고 방문 처리를 합니다.
- 스택의 최상단 노드와 인접한 노드들을 탐색하며, 방문하지 않은 인접 노드를 스택에 삽입하고 방문 처리한 뒤, 2번 과정을 재귀적으로 다시 실행합니다.
- 만약, 최상단 노드와 인접한 노드들 중 방문할 수 있는 노드가 없다면, 최상단 노드를 제거합니다.
- 2번의 과정을 더 이상 수행할 수 없을때까지 반복합니다.
BFS
- BFS 는 큐 자료구조를 이용하며, 구체적인 동작 과정은 다음과 같습니다.
- 탐색 시작 노드를 큐에 삽입하고 방문 처리를 합니다.
- 큐의 최하단 노드를 제거하며, 해당 노드와 인접한 노드들을 탐색하고, 방문하지 않은 인접 노드들을 전부 큐에 삽입한 뒤 방문 처리를 합니다.
- 2번의 과정을 더 이상 수행할 수 없을때까지 반복합니다.