DFS 탐색 DFS는 Depth-First-Search, 즉 깊이 우선 탐색으로 그래프의 깊은 부분부터 우선적으로 탐색하는 알고리즘이다. 특정한 경로로 탐색할 때 그 경로에서 최대한 깊숙이 들어가서 노드를 방문한 후, 더 이상 들어갈 곳이 없다면 위의 노드로 돌아가 다른 경로로 탐색한다. 위와 같은 그래프에서 깊은 부분부터 탐색한다고 하면 1 -> 2 -> 4 -> 5 -> 3 -> 6 -> 7 순으로 탐색하게 된다. 그래프의 구현은 다음과 같이 리스트에 인접한 노드들을 저장하는 방식으로 할 수 있다. graph = [ [], # 0번 노드는 존재하지 않으므로 0번째 인덱스는 비워두기 [2, 3], # 1번 노드는 2, 3번 노드와 연결되어 있으므로 1번째 인덱스에 2, 3 저장 [1, 4, 5],# 2..