이 포스트를 이해하기 위해 필요한 사전지식 : C++(혹은 C), 그래프 이론, 큐(자료구조) 그래프의 노드(Node)를 모두 탐색하는 방법으로 크게 DFS(깊이 우선 탐색), BFS(너비 우선 탐색) 두 가지가 있다. 다음과 같은 그래프가 있다고 하자. 8개의 노드와 7개의 간선으로 이루어진 양방향 그래프이다. 어디에서 시작하든 상관은 없지만 시각적 편리함을 위해 예시에서는 데이터 2가 저장된 노드에서 시작하기로 한다. DFS (깊이 우선 탐색) Depth First Search의 약자이며 말 그대로 깊이 갈 수 있는 곳까지 탐색하는 알고리즘. 각 노드에 연결된 노드들 중 아직 탐색하지 않은 노드들 중 아무거나 골라서 그 노드로 넘어가는 알고리즘이다. 위의 예시에서는 2에서 시작했으므로 2에 연결된 7..