Graph validation trace

그래프 판정은 실패 위치를 함께 남긴다

연결 요소, 사이클, 위상 정렬 검사는 true false만으로 끝내지 말고 실패한 정점과 간선 정보를 남겨야 디버깅이 빠릅니다.

01

연결성

방문하지 못한 정점 목록을 남기면 고립 노드와 입력 누락을 바로 찾을 수 있습니다.

02

사이클

DFS 상태나 Kahn 처리 수로 순환 여부를 판정하고 관련 간선을 추적합니다.

03

위상성

처리된 정점 수가 전체보다 작으면 남은 정점 집합이 실패 근거가 됩니다.

1

state

unvisited, visiting, done 상태를 정확히 갱신합니다.

2

count

컴포넌트 수와 처리 정점 수를 기록합니다.

3

edge log

실패 원인이 된 간선을 남깁니다.

4

input case

고립, 단일 사이클, 다중 컴포넌트를 테스트합니다.