DFS 파이썬

    [Graph] DFS (깊이 우선 탐색)

    완전 탐색 방법으로 가장 깊은 바닥까지 갔다가, 해당 경로가 종료될 경우 마지막 갈림길로 돌아가 탐색을 반복한다. 이때, 마지막 갈림길로 돌아가는 행위를 위해 스택이 필요하다. 비선형 구조인 그래프를 빠짐없이 검색하는 방법(완전탐색). 깊이 우선 탐색과 너비 우선 탐색이 있다. 시작 정점의 한방향으로 갈 수 있는 경로가 있는 곳까지 깊이 탐색해 가다가 막다른 길이면, 이전 갈림길로 돌아가 탐색을 진행한다. 마지막 갈림길로 돌아가는 행위를 하기 위해 후입 선출 구조인 스택을 사용한다. 개요 시작정점 v를 결정하여 방문한다. 정점 v에 인접한 정점 중에서 방문하지 않은 정점 w가 있다면, 정점 w를 스택에 push하고 정점 w를 방문한다. 그리고 w를 v로 하여 다시 위 순서를 반복한다. 방문하지 않은 정점..