깊이 우선 탐색(Depth First Search, DFS)
는 가장 기본적인 그래프 완전 탐색 알고리즘입니다. 그래프의 시작 노드에서 탐색할 한 쪽 분기를 정하여 최대한 깊이 탐색을 마친 후 다음 분기로 넘어가 다시 탐색을 시작합니다.
DFS는 재귀
를 이용하여 쉽게 구현할 수 있습니다.
재귀의 특성때문에 깊이가 너무 깊으면 스택 오버플로우가 발생합니다. 따라서 탐색 공간의 깊이가 제한되어 있을때만 사용해야합니다.
스택을 사용하지 않고도 재귀메서드를 호출하여 구현할 수도 있습니다. 편한 방법으로 사용하면 됩니다.