그래프 자료구조를 탐색하는 두 가지 알고리즘이 있다. 너비 우선 탐색(BFS)과 깊이 우선 탐색(DFS)이다. DFS란? 깊이 우선 탐색은 그래프를 탐색할 때 시작점에 해당하는 분기를 모두 탐색하고 탐색이 끝나면 다음 분기로 넘어가 탐색을 반복하는 방법이다. BFS가 넓게 탐색했다면, DFS는 깊게 탐색하는 것이다. DFS의 장점은 현재 분기에 있는 노드들만 저장하면 되기 때문에 큰 저장공간을 필요로 하지 않는다. 또한 탐색하고자 하는 노드가 시작점으로부터 깊은 곳에 있다면 더 짧은 시간에 탐색을 완료할 수 있다. 하지만 간단한 탐색의 경우 BFS보다 시간이 더 소요된다. PSEUDOCODE DFS를 구현하는 방법에는 두 가지 방법이 있다. 하나는 스택(Stack)을 사용하는 것이고, 또 하나는 순환 호..