연결성
방문하지 못한 정점 목록을 남기면 고립 노드와 입력 누락을 바로 찾을 수 있습니다.
연결 요소, 사이클, 위상 정렬 검사는 true false만으로 끝내지 말고 실패한 정점과 간선 정보를 남겨야 디버깅이 빠릅니다.
방문하지 못한 정점 목록을 남기면 고립 노드와 입력 누락을 바로 찾을 수 있습니다.
DFS 상태나 Kahn 처리 수로 순환 여부를 판정하고 관련 간선을 추적합니다.
처리된 정점 수가 전체보다 작으면 남은 정점 집합이 실패 근거가 됩니다.
unvisited, visiting, done 상태를 정확히 갱신합니다.
컴포넌트 수와 처리 정점 수를 기록합니다.
실패 원인이 된 간선을 남깁니다.
고립, 단일 사이클, 다중 컴포넌트를 테스트합니다.