Graphdefinitionen, Breitensuche, Tiefensuche, DAG und topologische Sortierung
그래프 정의, BFS, DFS, DAG, 위상 정렬
중요한 독일어·영어 용어는 유지하되 설명과 학습 동선은 한국어 중심으로 제공합니다.
이 챕터의 문항별 독립 학습 페이지
단원 페이지에는 개요와 학습 순서만 둡니다. 각 문항의 용어·비유·수식·단계별 풀이·실제 채점은 아래 독립 페이지에서 이어집니다.
II-9 · 2개 선택
그래프(Graph)에 관한 설명 중 참인 것을 고르시오. 복기상 exactly two 섹션이지만 이 문항은 표기 검토가 필요하다.
독립 개념 강의와 실제 채점 열기 →II-10 · 2개 선택
그래프 알고리즘 및 관련 자료구조 설명 중 정확히 두 개를 고르시오.
독립 개념 강의와 실제 채점 열기 →II-11 · 2개 선택
BFS와 DFS에 관한 설명 중 정확히 두 개를 고르시오.
독립 개념 강의와 실제 채점 열기 →
30초 핵심 요약
그래프(graph)는 \(G=(V,E)\)G=(V,E)이다. 방향 그래프(directed graph)에서는 E ⊆ V × V이고, 무방향 그래프(undirected graph)에는 대칭성이 추가된다. 너비 우선 탐색(BFS)은 큐로 층을 만들며 가중치 없는 최단 간선 수를 구한다. 깊이 우선 탐색(DFS)은 스택·재귀와 발견·종료 시각을 이용해 간선 분류와 위상 정렬의 근거를 만든다.
인접 리스트에서 BFS·DFS·위상 정렬·Kosaraju는 \(O(|V|+|E|)\)O(|V|+|E|)이다. 위상 순서에서는 모든 간선 (u,v)에 대해 u가 v보다 앞에 와야 한다.
E := V × V, 필요충분조건(iff) 대칭성, 무가중(unweighted), 큐(Queue), 스택, Rückwärtskante, Kreuzkante, terminiert, stets를 먼저 표시한다.
시험 연결
- II-9
- II-10
- II-11
섹션 II는 정답이 정확히 두 개인 형식\((\text{exactly}_{\text{two}})\)(exactly(two))으로 복원되었다. II-9는 출처 문구를 글자 그대로 검증하면 참인 보기가 하나뿐이므로 검토 필요\((\text{needs}_{\text{review}})\)(needs(review))상태로 보존한다.
정답 라벨을 외우는 대신 동일·부분집합, 방향·대칭, 큐·스택, DAG·사이클, 국소·전역 순서를 판정하는 절차를 훈련한다.
먼저 알아야 할 용어와 전제
- 집합 표기 V, E와 E ⊆ V × V를 이해한다.
- 방향 있는 순서쌍 (u,v)과 무방향 대칭 관계의 차이를 안다.
- 큐(Queue, FIFO)와 스택·재귀(stack/recursion)를 이해한다.
- 트리와 힙의 국소 순서 불변식을 이해한다.
개념 강의
BFS는 물결처럼 가까운 층부터 퍼지고, DFS는 한 갈래를 끝까지 따라갔다 돌아온다. 위상 정렬(topological sorting)은 DAG에서 선후관계를 한 줄로 세우는 작업이다.
방향 그래프(directed graph)는 G=(V,E), E ⊆ V × V이다. 무방향 그래프(undirected graph)는 간선 관계가 대칭이다. BFS(Breitensuche)는 FIFO 큐를 사용하고, DFS(Tiefensuche)는 재귀·스택을 사용한다. DAG는 방향 비순환 그래프(directed acyclic graph)이다.
- 유한 집합(finite set)
- 순서쌍과 대칭 관계의 차이
- 큐와 스택
BFS 큐는 감소하지 않는 거리(dist) 순서로 정점을 처리한다. DFS의 회색(GRAY) 정점은 재귀 스택에 있으며, 역방향 간선(back edge)은 방향 사이클의 존재를 뜻한다. 무방향 DFS에서는 강의 규약에 따라 트리 간선과 역방향 간선만 남는다.
인접 행렬은 \(\Theta(|V|^2)\)Θ(|V|²) 공간을 사용하고 인접 리스트는 \(\Theta(|V|+|E|)\)Θ(|V|+|E|) 공간을 사용한다. 인접 리스트에서 BFS, DFS, DFS 기반 위상 정렬, Kosaraju는 \(O(|V|+|E|)\)O(|V|+|E|)에 실행된다.
유한 그래프에는 무한한 간선 집합이 있을 수 없다. \(E = V\)E = V × V는 완전 관계를 뜻한다. BFS의 최단 경로는 가중 최단 경로가 아니다. 사이클이 있는 방향 그래프에는 위상 순서가 없지만, 올바른 알고리즘은 그래도 종료하거나 실패를 보고한다.
- immer
- nur
- jede
- keine
- stets
- unweighted
- weighted
- Queue
- Stack
- \(E := V x V\)
E := V x V - DAG
- terminiert
BFS·DFS·DAG 그래프 실험실
다음 상태를 먼저 예측한 뒤 한 단계 실행하여 확인하세요.
새 문장 판별 체크리스트
- 그래프 정의에서는 E := V × V인지 E ⊆ V × V인지 확인한다.
- 방향 그래프에는 대칭성이 필수가 아니고, 무방향 그래프에서는 대칭성이 핵심이다.
- BFS는 FIFO 큐를 사용하고 DFS는 스택·재귀를 사용한다.
- 최단 경로 문장에서는 무가중 간선 수인지 가중 비용인지 확인한다.
- 위상 정렬 문장에서는 DAG 전제와 사이클 장애를 확인한다.
- DFS 간선 분류 문장에서는 방향 그래프인지 무방향 그래프인지 먼저 표시한다.
- `terminiert`에서는 결과의 존재 여부와 알고리즘 종료를 혼동하는지 살핀다.
- stets·jede·immer 문장은 작은 반례(counterexample) 하나로 깨지는지 시험한다.
능동 회상
- 방향 그래프(directed graph)와 무방향 그래프(undirected graph)의 E 조건을 각각 말하라. — 방향 그래프는 E ⊆ V × V이고 대칭성이 필요 없다. 무방향 그래프는 E ⊆ V × V에 대칭성을 더한다.
- BFS에서 흰색(WHITE), 회색(GRAY), 검은색(BLACK), dist, pred, Q의 의미를 말하라. — WHITE는 미발견, GRAY는 발견되어 큐에 있음, BLACK은 처리 완료 상태다. dist는 간선 수 거리(edge-count distance), pred는 처음 발견시킨 이전 정점(predecessor), Q는 FIFO 큐다.
- BFS 최단 경로 문장을 언제 참으로 인정할 수 있는가? — 무가중 그래프(unweighted graph) 또는 모든 간선을 1로 세는 최소 간선 수 문제(shortest edge-count)일 때다.
- DFS의 네 간선 유형(edge class)을 색 규칙으로 분류하라. — WHITE면 트리 간선(tree), GRAY면 역방향 간선(back), BLACK인 자손이면 순방향 간선(forward), BLACK인 다른 가지면 교차 간선(cross)이다.
- 무방향 DFS에서 트리·역방향 간선만 있다는 말의 전제를 말하라. — 그래프가 무방향이고 강의의 DFS 간선 분류 규약(edge classification convention)을 사용하는 경우다.
- 위상 정렬의 조건과 DFS 종료 시각(finish time)을 이용하는 방법을 말하라. — DAG에서만 가능하다. DFS가 종료될 때 정점을 목록 앞에 넣으면 종료 시각 내림차순이 된다.
- 강연결요소(SCC)의 두 핵심 단어를 말하라. — 상호 도달 가능성(mutual reachability)과 극대성(maximality)이다.
구두시험 질문
- II-9의 D가 왜 애매한지 강의 정의와 복기 문구를 비교해서 설명하라.
- BFS가 무가중 최단 경로를 주는 이유를 큐 불변식(queue invariant)으로 설명하라.
- DAG에서 역방향 간선(back edge)과 교차 간선(cross edge)의 가능성을 비교하라.
- 사이클 그래프에는 위상 정렬이 없다는 말과 알고리즘 종료를 구분하라.
시험 직전 요약
그래프의 V와 E는 유한하다. 방향 그래프는 E ⊆ V × V이며 대칭성이 필요 없다. 무방향 그래프는 대칭 관계이지만 반드시 완전 관계일 필요는 없다.
인접 리스트의 BFS·DFS·위상 정렬·Kosaraju는 \(O(|V|+|E|)\)O(|V|+|E|)이다. 행렬 공간은 \(\Theta(|V|^2)\)Θ(|V|²), 리스트 공간은 \(\Theta(|V|+|E|)\)Θ(|V|+|E|)이다.
II-9를 문자 그대로 E := V × V로 읽으면 D는 거짓이다. E ⊆ V × V와 대칭성을 의도했다면 D는 참이 될 수 있다.
먼저 조건 단어를 읽는다. 무가중, 방향, 무방향, DAG, 큐, 스택, terminiert, stets를 표시한다.
출처
- 출처 파일: AuD Gedächtnisprotokoll SoSe 2025.md; 근거 페이지·구간: MC section II, questions 9-11; 뒷받침하는 내용: 2025년 여름학기 복기 문구와 배점, 그리고 정확히 두 개 선택 규칙.; 검증 상태: reconstructed; 자료의 역할: reconstructed_exam; 추출 품질: \(\text{clean}_{\text{text}}\)
clean(text) - 출처 파일: Vorlesung\06GraphAlgorithms.pdf; 근거 페이지·구간: pp. 3-6; 뒷받침하는 내용: 유한 방향·무방향 그래프의 정의, E ⊆ V × V, 무방향 대칭성, 경로와 연결성.; 검증 상태: verified; 자료의 역할: current_lecture; 추출 품질: \(\text{clean}_{\text{text}}\)
clean(text) - 출처 파일: Vorlesung\06GraphAlgorithms__moodle_2026-06-16.pdf; 근거 페이지·구간: pp. 3-6; 뒷받침하는 내용: Moodle 미러가 현재 강의의 동일한 그래프 정의 관례를 확인해 줍니다.; 검증 상태: verified; 자료의 역할: current_lecture; 추출 품질: \(\text{clean}_{\text{text}}\)
clean(text) - 출처 파일: Vorlesung\06GraphAlgorithms.pdf; 근거 페이지·구간: pp. 9, 14; 뒷받침하는 내용: 인접 행렬·인접 리스트 표현과 각각의 공간 비용.; 검증 상태: verified; 자료의 역할: current_lecture; 추출 품질: \(\text{clean}_{\text{text}}\)
clean(text) - 출처 파일: Vorlesung\06GraphAlgorithms.pdf; 근거 페이지·구간: pp. 20, 25-28; 뒷받침하는 내용: BFS의 큐, 색상, dist, pred, 실행 시간 \(O(|V|+|E|)\)
O(|V|+|E|), 그리고 최소 간선 수 경로의 정확성.; 검증 상태: verified; 자료의 역할: current_lecture; 추출 품질: \(\text{clean}_{\text{text}}\)clean(text) - 출처 파일: Vorlesung\06GraphAlgorithms.pdf; 근거 페이지·구간: p. 124; 뒷받침하는 내용: BFS와 DFS는 가중치를 무시합니다. BFS는 최소 간선 수 경로를 주지만 가중 최단 경로를 보장하지 않습니다.; 검증 상태: verified; 자료의 역할: current_lecture; 추출 품질: \(\text{clean}_{\text{text}}\)
clean(text) - 출처 파일: Vorlesung\06GraphAlgorithms.pdf; 근거 페이지·구간: pp. 49-57; 뒷받침하는 내용: DFS 숲, 스택 기반 동작, 최단 경로를 보장하지 않는 DFS 트리 경로, 간선 분류, 무방향 그래프에서는 트리·역방향 간선만 생긴다는 결과.; 검증 상태: verified; 자료의 역할: current_lecture; 추출 품질: \(\text{clean}_{\text{text}}\)
clean(text) - 출처 파일: Vorlesung\06GraphAlgorithms.pdf; 근거 페이지·구간: pp. 62-67; 뒷받침하는 내용: DAG의 위상 정렬, DFS 종료 시간을 이용한 방법, 실행 시간, 순환·역방향 간선이 만드는 장애.; 검증 상태: verified; 자료의 역할: current_lecture; 추출 품질: \(\text{clean}_{\text{text}}\)
clean(text) - 출처 파일: Vorlesung\06GraphAlgorithms.pdf; 근거 페이지·구간: pp. 68-72; 뒷받침하는 내용: 강한 연결 요소(SCC)의 정의, 전치 그래프, Kosaraju 알고리즘과 실행 시간.; 검증 상태: verified; 자료의 역할: current_lecture; 추출 품질: \(\text{clean}_{\text{text}}\)
clean(text) - 출처 파일: Übung\AuD26_Sheet09.pdf; 근거 페이지·구간: pp. 1-3, G2-G4; 뒷받침하는 내용: 인접 표현 변환, BFS·DFS 표, SCC 변화에 관한 공식 연습문제.; 검증 상태: verified; 자료의 역할: exercise_sheet; 추출 품질: \(\text{clean}_{\text{text}}\)
clean(text) - 출처 파일: Übung\AuD26_Sheet09-GrpSol.pdf; 근거 페이지·구간: pp. 1-6, G2-G4 solutions; 뒷받침하는 내용: 그래프 표현의 성질, BFS 큐 표, DFS 시간, 간선 변화가 SCC에 미치는 영향에 관한 공식 그룹 해설.; 검증 상태: verified; 자료의 역할: official_solution; 추출 품질: \(\text{clean}_{\text{text}}\)
clean(text) - 출처 파일: Vorlesung\04AdvancedDataStructures.pdf; 근거 페이지·구간: pp. 92, 106, 112; 뒷받침하는 내용: 힙 성질은 부모·자식 사이의 국소 순서입니다. 정렬 출력에는 단순 순회가 아니라 힙 정렬 또는 반복 추출 연산이 필요합니다.; 검증 상태: verified; 자료의 역할: current_lecture; 추출 품질: \(\text{clean}_{\text{text}}\)
clean(text)
AI 후속 학습 프롬프트
마지막 생성: 2026-08-03 03:24