알고리즘 기초 - DFS/BFS
·
My Study/Algorithm
- DFS 란? 정의! 깊이 우선 탐색(Depth-First Search), 그래프에서 깊은 부분을 우선적으로 탐색하는 알고리즘입니다. 최대한 깊이 내려간 뒤, 더 이상 깊이 갈 곳이 없을 경우 옆으로 이동합니다. 동작 과정! DFS에서는 스택을 사용합니다. 1. 시작 노드를 스택에 삽입 하고 방문 처리 해줍니다. 2. 스택의 최상단 노드에 방문하지 않은 이웃 노드가 있다면 그 노드를 스택에 넣어주고 방문처리해줍니다. 그렇지 않으면 스택의 최상단 노드를 꺼내줍니다. 3. 방문하지 않은 노드가 존재하지 않아, 더 이상 수행할 수 없을 때 까지 2번의 과정을 반복 수행해줍니다. 아래 그래프로 예를 들어보겠습니다. 위와 같은 그래프가 있을 때, 탐색 순서는 1-2-7-6-8-3-4-5입니다. DFS는 단순 재..