다시 그림을 살펴볼까요?
▲ 그림 12-4 위상 정렬 3
그림 12-4를 보면 dfs(3)의 스택 프레임에서 아직 가 보지 않은 정점 6이 있으므로 노드 6의 스택 프레임이 쌓일 것입니다. 이때 6에서도 진출 차수가 0이군요. 즉, 마지막 할 일입니다. 지금까지 ts_list에 출력된 정점은 두 개입니다. ts_list=[5, 6]입니다. 스택 프레임이 dfs(3)으로 돌아왔을 때를 보면, 이제 adj[3]={5, 6}을 모두 순회했으므로 dfs 메서드 내에서 ts_list.append()를 만납니다. 이제 ts_list=[5, 6, 3]이 됩니다. 스택 프레임 dfs(2)도 마찬가지입니다. 이제 ts_list={5, 6, 3, 2}입니다. 다음으로 방문하지 않은 노드 중 임의의 노드를 선택합니다.