model checklist

방향성, 속성, 표현 방식을 한 표에서 닫는다

그래프 모델링은 정점·간선 정의를 코드 구조로 번역하는 일이다.

문제 신호결정코드 모양놓치면 생기는 버그
“A에서 B로”directedadj[u].push(v)역방향 도달을 잘못 허용
“친구 관계, 양방향”undirectedadj[u].push(v); adj[v].push(u)연결 요소가 둘로 쪼개짐
비용/거리/시간weighted edge{ to, weight }BFS처럼 비용을 1로 처리
간선 존재 질의 다수matrix or sethas[u][v] 또는 Set리스트 선형 탐색 반복
이웃 순회 중심adjacency listfor (const e of adj[u])행렬 전체 스캔으로 시간 낭비
핵심: 표현은 알고리즘보다 먼저 고정한다. 그래야 방문 배열, 거리 배열, indegree의 의미가 흔들리지 않는다.