더북(TheBook)

그림 6-28에서 현재 정점은 3입니다. 방문을 하고 visited[3]=True로 만들어 adj[3]={2}를 얻어 옵니다. 그런데 정점 2는 이미 방문한 상태입니다. 그렇다면 for 문이 종료되면서 함수도 종료되어 스택 프레임도 사라지게 되겠지요. 사실 visited를 보면 모든 노드를 방문했다는 것을 알 수 있습니다. 그렇다면 이 시점에서 알고리즘을 끝내도 됩니다만 그렇게 하지 않습니다. 반드시 시작 정점으로 돌아가 시작 정점에서 더 이상 따라갈 정점이 없을 때 알고리즘을 종료합니다.

▲ 그림 6-28 DFS 6

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.