DFS
✅ DFS 문제 유형 + 기본 구현
유형
설명
📌 전제: adj는 인접 리스트
adj는 인접 리스트int n = 6;
List<List<Integer>> adj = new ArrayList<>();
for (int i = 0; i < n; i++) adj.add(new ArrayList<>());
void addEdge(int u, int v) {
adj.get(u).add(v);
adj.get(v).add(u); // 무방향
}✅ ① 연결 그래프에서 DFS 순회
✅ ② 비연결 그래프 전체 DFS 순회
✅ ③ 연결 컴포넌트 수 세기
✅ ④ 트리 DFS: in/out 시간, 서브트리 크기, 깊이
✅ ⑤ 경로 존재 여부 / 경로 출력
🔸 1) 경로가 존재하는지
🔸 2) 실제 경로 출력하기
✅ 요약 정리
유형
함수
설명
Last updated