![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcZ0AlA%2FbtsL3SAPNzs%2FlGdlxgIs38RUnk64vYDlO1%2Fimg.gif)
DFS (깊이 우선 탐색)
·
알고리즘
DFS (Depth-First Search 깊이 우선 탐색)는 그래프나 트리에서 노드를 탐색하는 알고리즘 중의 하나이다. 이 방법은 가능한 깊게 노드를 탐색한 뒤, 더 이상 갈 수 없으면 되돌아가서 다른 노드를 탐색하는 방식이다. 보통 재귀함수의 형태나 Stack 자료 구조를 이용하여 문제를 해결한다. [동작 원리]시작 노드를 선택한다선택한 노드의 인접 노드를 순차적으로 깊게 탐색한다. 더 이상 탐색할 노드가 없으면, 가장 마지막에 방문했던 노드로 돌아가서 다른 노드를 탐색한다. 이 과정을 반복하면서 모든 노드를 탐색한다. 단, 한번 방문한 노드는 또 방문해도 적지 않는다. 예를 들어 아래와 같은 그래프가 있다면, A - B - D - E - C - F - G 순서로 노드를 탐색할 수 있다. ..