그래프 정의, BFS, DFS, DAG, 위상 정렬

II-9 · 기초 개념부터 실제 판정까지

과목을 처음 보는 학습자가 이 한 페이지만 읽고 용어, 수식, 판정 절차와 정답 근거를 설명할 수 있도록 구성했습니다.

비공식 시험 복기 문언

먼저 실제 문항을 읽기

Graphen:

한국어 번역: 그래프(Graph)에 관한 설명 중 참인 것을 고르시오. 복기상 exactly two 섹션이지만 이 문항은 표기 검토가 필요하다.

선택 규칙: 정확히 두 개를 고릅니다. 아래 개념 강의를 읽기 전에 머릿속으로 한 번 판단해 보세요.

선행지식 0 기준

II-9 유한 그래프·간선집합·대칭성 — 완전 초보자 Masterclass

먼저 이 문제의 정체부터

그래프 정의에서는 =와 ⊆를 바꾸는 순간 완전히 다른 말이 됩니다. E⊆V×V는 가능한 정점쌍 중 일부가 간선이라는 뜻이고 \(E=V\)E=V×V는 모든 쌍이 간선인 완전한 관계입니다.

학교 학생 전체 쌍의 집합과 실제 친구 관계의 집합은 같지 않고, 친구 관계는 그중 일부입니다.

이 문항의 풀이 목표는 정답 label 암기가 아니라 다음 절차를 재현하는 것입니다. 먼저 \(E=V\)E=V×V인지 E⊆V×V인지, 다음으로 directed/undirected와 symmetry를 검사합니다.

복기 시험지는 공식 답안지가 아니므로 문언과 selection rule이 충돌하면 그 사실을 표시하고 현재 강의 자료로 각 보기를 독립 검증합니다.

0. 필요한 개념을 처음부터 배우기

개념 1
개념 1 · 문제의 정체를 생활 언어로

그래프 정의에서는 =와 ⊆를 바꾸는 순간 완전히 다른 말이 됩니다. E⊆V×V는 가능한 정점쌍 중 일부가 간선이라는 뜻이고 \(E=V\)E=V×V는 모든 쌍이 간선인 완전한 관계입니다.

이 문항에서 가장 먼저 붙잡을 문장은 'finite graph는 정점과 간선이 모두 유한하다.'입니다. 용어를 외우기 전에 이 문장이 어떤 상황을 말하는지 작은 예를 만들어 확인합니다.

이 절에서 꼭 기억할 것
  • finite graph는 정점과 간선이 모두 유한하다.
  • 먼저 \(E=V\)E=V×V인지 E⊆V×V인지, 다음으로 directed/undirected와 symmetry를 검사합니다.
개념 2
개념 2 · 반드시 알아야 하는 네 개의 뼈대

첫째, finite graph는 정점과 간선이 모두 유한하다. 둘째, directed graph에서 E⊆V×V이며 symmetry는 필수가 아니다.

셋째, undirected graph는 unordered pairs 또는 symmetric relation로 표현한다. 넷째, 현재 복기 문언은 exactly-two 규칙과 달리 A만 명확히 참이므로 누락·왜곡 가능성이 있다. 이 네 문장을 서로 섞지 않고 별도 체크박스로 기억해야 합니다.

이 절에서 꼭 기억할 것
  • finite graph는 정점과 간선이 모두 유한하다.
  • directed graph에서 E⊆V×V이며 symmetry는 필수가 아니다.
  • undirected graph는 unordered pairs 또는 symmetric relation로 표현한다.
  • 현재 복기 문언은 exactly-two 규칙과 달리 A만 명확히 참이므로 누락·왜곡 가능성이 있다.
개념 3
개념 3 · 강의 정의를 초보자 언어로 해체

BFS는 물결처럼 가까운 층부터 퍼지고, DFS는 한 갈래를 끝까지 따라갔다 돌아온다. 위상 정렬(topological sorting)은 DAG에서 선후관계를 한 줄로 세우는 작업이다.

방향 그래프(directed graph)는 G=(V,E), E ⊆ V × V이다. 무방향 그래프(undirected graph)는 간선 관계가 대칭이다. BFS(Breitensuche)는 FIFO 큐를 사용하고, DFS(Tiefensuche)는 재귀·스택을 사용한다. DAG는 방향 비순환 그래프(directed acyclic graph)이다.

수식으로 정확히 쓰기

핵심 규칙인접 리스트에서 BFS·DFS·위상 정렬·Kosaraju는 \(O(|V|+|E|)\)O(|V|+|E|)이다. 위상 순서에서는 모든 간선 (u,v)에 대해 u가 v보다 앞에 와야 한다.

이 절에서 꼭 기억할 것
  • 유한 집합(finite set)
  • 순서쌍과 대칭 관계의 차이
  • 큐와 스택
개념 4
개념 4 · 성립 조건·불변식·경계 사례

BFS 큐는 감소하지 않는 거리(dist) 순서로 정점을 처리한다. DFS의 회색(GRAY) 정점은 재귀 스택에 있으며, 역방향 간선(back edge)은 방향 사이클의 존재를 뜻한다. 무방향 DFS에서는 강의 규약에 따라 트리 간선과 역방향 간선만 남는다.

유한 그래프에는 무한한 간선 집합이 있을 수 없다. \(E = V\)E = V × V는 완전 관계를 뜻한다. BFS의 최단 경로는 가중 최단 경로가 아니다. 사이클이 있는 방향 그래프에는 위상 순서가 없지만, 올바른 알고리즘은 그래도 종료하거나 실패를 보고한다.

이 절에서 꼭 기억할 것
  • 전제조건을 생략하지 않는다.
  • 존재 명제와 모든 경우 명제를 구분한다.
  • 강한 단어는 작은 반례로 우선 검사한다.
개념 5
개념 5 · 실행시간과 비용을 읽는 법

인접 행렬은 \(\Theta(|V|^2)\)Θ(|V|²) 공간을 사용하고 인접 리스트는 \(\Theta(|V|+|E|)\)Θ(|V|+|E|) 공간을 사용한다. 인접 리스트에서 BFS, DFS, DFS 기반 위상 정렬, Kosaraju는 \(O(|V|+|E|)\)O(|V|+|E|)에 실행된다.

O는 upper bound이고 Θ는 tight bound입니다. 자료구조 연산 비용은 ADT 이름만이 아니라 구현과 유지하는 보조 정보에 따라 달라질 수 있습니다.

이 절에서 꼭 기억할 것
  • O와 Θ를 같은 뜻으로 읽지 않는다.
  • 구현 의존성을 확인한다.
  • 필요 없는 runtime 주장도 억지로 만들지 않는다.
개념 6
개념 6 · 정확히 두 개 선택(exactly two) 판정법

선택지를 서로 비교해 '가장 그럴듯한 두 개'를 고르지 않습니다. A부터 D까지 각각 독립적인 참·거짓 명제로 바꾸고 근거 또는 반례를 붙인 뒤 참의 개수를 셉니다.

현재 복기 데이터에서 판정된 정답 표시는 A입니다. 정답 수와 섹션 규칙이 충돌하는 문항은 억지로 두 개를 만들지 않고 복기 문언 누락 가능성을 명시합니다.

수식으로 정확히 쓰기

핵심 규칙선택 규칙: 정확히 두 개 선택\((\text{exactly}_{\text{two}})\)(exactly(two))

핵심 규칙검증된 선택지: A

이 절에서 꼭 기억할 것
  • 등호, 부분집합, 대칭성은 서로 다른 세 가지 주장입니다.
  • 먼저 선지가 \(E = V\)E = V × V라고 말하는지 확인하고, 이어서 방향성과 대칭성을 확인하세요.

1. 시험장에서 따라 할 풀이 순서

풀이가 진행되며 무엇이 바뀌는지 먼저 한눈에 보기
1선택 규칙을 먼저 적는다

선택 규칙 = 정확히 두 개 선택\((\text{exactly}_{\text{two}})\)(exactly(two))

2문장을 쉬운 한국어로 다시 쓴다

유한 그래프·간선집합·대칭성

3핵심 도구를 종이에 꺼낸다

finite graph는 정점과 간선이 모두 유한하다. | directed graph에서 E⊆V×V이며 symmetry는 필수가 아니다. | undirected graph는 unordered pairs 또는 symmetric relation로 표현한다.

4선택지 A를 독립 판정한다

선택지 \(A =\)A =

  1. 선택 규칙을 먼저 적는다

    이 문항의 규칙은 정확히 두 개 선택\((\text{exactly}_{\text{two}})\)(exactly(two))입니다. 마지막에 참 개수를 반드시 재검산합니다.

    핵심 규칙선택 규칙 = 정확히 두 개 선택\((\text{exactly}_{\text{two}})\)(exactly(two))

  2. 문장을 쉬운 한국어로 다시 쓴다

    그래프(Graph)에 관한 설명 중 참인 것을 고르시오. 복기상 exactly two 섹션이지만 이 문항은 표기 검토가 필요하다.

    핵심 규칙유한 그래프·간선집합·대칭성

  3. 핵심 도구를 종이에 꺼낸다

    먼저 \(E=V\)E=V×V인지 E⊆V×V인지, 다음으로 directed/undirected와 symmetry를 검사합니다.

    핵심 규칙finite graph는 정점과 간선이 모두 유한하다. | directed graph에서 E⊆V×V이며 symmetry는 필수가 아니다. | undirected graph는 unordered pairs 또는 symmetric relation로 표현한다.

  4. 선택지 A를 독립 판정한다

    강의의 방향·무방향 그래프(directed/undirected graph) 정의에서 유한 그래프(endlicher Graph)는 유한한 정점 집합과 유한한 간선 집합을 모두 포함합니다.

    \[선택지 A = 참\]선택지 A = 참
  5. 선택지 B를 독립 판정한다

    유한 그래프(finite graph)의 정의 자체에 유한한 간선 집합이 포함됩니다. 또한 E ⊆ V × V에서 V가 유한하면 가능한 순서쌍(ordered pair)의 수도 유한합니다.

    \[선택지 B = 거짓\]선택지 B = 거짓
  6. 선택지 C를 독립 판정한다

    방향 그래프(directed graph)에서는 E ⊆ V × V이고 (u,v)는 u에서 v로 가는 간선입니다. 대칭성이나 완전 관계(complete relation)는 요구되지 않습니다.

    \[선택지 C = 거짓\]선택지 C = 거짓
  7. 선택지 D를 독립 판정한다

    대칭성(symmetry)은 맞지만 현재 강의의 정의는 E ⊆ V × V입니다. E := V × V로 두면 완전 그래프(complete graph)만 허용하므로 일반 무방향 그래프(undirected graph)의 정의가 아닙니다.

    \[선택지 D = 거짓\]선택지 D = 거짓
  8. 정답 수와 애매성을 재검산한다

    참으로 판정된 선택지는 A입니다. 복기 섹션 규칙과 수가 다르면 원문 누락 가능성을 기록하고 거짓을 참으로 조작하지 않습니다.

    \[검증된 정답 = A\]검증된 정답 = A

2. 이 문제를 실제로 끝까지 풀기

그래프 정의에서는 =와 ⊆를 바꾸는 순간 완전히 다른 말이 됩니다. E⊆V×V는 가능한 정점쌍 중 일부가 간선이라는 뜻이고 \(E=V\)E=V×V는 모든 쌍이 간선인 완전한 관계입니다.

풀이를 시작할 때 다음 네 사실을 먼저 적습니다. (1) finite graph는 정점과 간선이 모두 유한하다. (2) directed graph에서 E⊆V×V이며 symmetry는 필수가 아니다. (3) undirected graph는 unordered pairs 또는 symmetric relation로 표현한다. (4) 현재 복기 문언은 exactly-two 규칙과 달리 A만 명확히 참이므로 누락·왜곡 가능성이 있다.

선택지 A는 참입니다. 강의의 방향·무방향 그래프(directed/undirected graph) 정의에서 유한 그래프(endlicher Graph)는 유한한 정점 집합과 유한한 간선 집합을 모두 포함합니다.

선택지 B는 거짓입니다. 유한 그래프(finite graph)의 정의 자체에 유한한 간선 집합이 포함됩니다. 또한 E ⊆ V × V에서 V가 유한하면 가능한 순서쌍(ordered pair)의 수도 유한합니다. 가장 작은 확인 예는 \(V=\{a,b\}\)V={a,b}이면 V × V에는 순서쌍이 4개뿐이므로 E ⊆ V × V도 무한 집합일 수 없다.

선택지 C는 거짓입니다. 방향 그래프(directed graph)에서는 E ⊆ V × V이고 (u,v)는 u에서 v로 가는 간선입니다. 대칭성이나 완전 관계(complete relation)는 요구되지 않습니다. 가장 작은 확인 예는 \(V=\{u,v\}, E=\{(u,v)\}\)V={u,v}, E={(u,v)}는 올바른 방향 그래프이지만 (v,u)는 E에 속하지 않고 E도 V × V와 같지 않습니다.

선택지 D는 거짓입니다. 대칭성(symmetry)은 맞지만 현재 강의의 정의는 E ⊆ V × V입니다. E := V × V로 두면 완전 그래프(complete graph)만 허용하므로 일반 무방향 그래프(undirected graph)의 정의가 아닙니다. 가장 작은 확인 예는 \(V=\{1,2,3\}, E=\{(1,2),(2,1)\}\)V={1,2,3}, E={(1,2),(2,1)}는 대칭이지만 V × V와 같지는 않습니다.

따라서 현재 문언에서 참으로 검증된 선택지는 A입니다. 선택지는 서로 상대평가하지 않고 각 문장을 정의·전제·반례로 독립 검증했습니다.

시험장에서 쓸 압축 절차는 다음과 같습니다. 먼저 \(E=V\)E=V×V인지 E⊆V×V인지, 다음으로 directed/undirected와 symmetry를 검사합니다. 시간이 부족해도 '항상(always)', '오직(only)', '모든(every)' 같은 강한 단어와 전제조건, O와 Θ를 먼저 확인하면 대표 함정을 피할 수 있습니다.

3. 선택지 A–D를 한 줄도 건너뛰지 않고 판정하기

  1. A참 — 정답 후보

    강의의 방향·무방향 그래프(directed/undirected graph) 정의에서 유한 그래프(endlicher Graph)는 유한한 정점 집합과 유한한 간선 집합을 모두 포함합니다.

    빠른 확인법: 유한 그래프는 유한한 정점(Knoten)과 유한한 간선(Kanten)을 가진다.

  2. B거짓

    유한 그래프(finite graph)의 정의 자체에 유한한 간선 집합이 포함됩니다. 또한 E ⊆ V × V에서 V가 유한하면 가능한 순서쌍(ordered pair)의 수도 유한합니다.

    빠른 확인법: \(V=\{a,b\}\)V={a,b}이면 V × V에는 순서쌍이 4개뿐이므로 E ⊆ V × V도 무한 집합일 수 없다.

  3. C거짓

    방향 그래프(directed graph)에서는 E ⊆ V × V이고 (u,v)는 u에서 v로 가는 간선입니다. 대칭성이나 완전 관계(complete relation)는 요구되지 않습니다.

    빠른 확인법: \(V=\{u,v\}, E=\{(u,v)\}\)V={u,v}, E={(u,v)}는 올바른 방향 그래프이지만 (v,u)는 E에 속하지 않고 E도 V × V와 같지 않습니다.

  4. D거짓

    대칭성(symmetry)은 맞지만 현재 강의의 정의는 E ⊆ V × V입니다. E := V × V로 두면 완전 그래프(complete graph)만 허용하므로 일반 무방향 그래프(undirected graph)의 정의가 아닙니다.

    빠른 확인법: \(V=\{1,2,3\}, E=\{(1,2),(2,1)\}\)V={1,2,3}, E={(1,2),(2,1)}는 대칭이지만 V × V와 같지는 않습니다.

4. 초보자가 가장 자주 틀리는 이유

  • 등호, 부분집합, 대칭성은 서로 다른 세 가지 주장입니다.
  • exactly-two라는 이유만으로 근거 없이 두 선택지를 맞다고 만든다.
  • 선택지의 절반만 맞는데 결합 문장 전체를 참으로 판정한다.
  • always, only, every 같은 강한 단어를 놓친다.
  • 정의와 구현, 전제조건과 결론, upper bound와 tight bound를 섞는다.
  • 작은 예 하나로 거짓은 깰 수 있지만 참인 보편 명제를 증명했다고 착각한다.
  • 복기 시험지가 공식 원문·공식 답안이라는 전제로 애매성을 숨긴다.
  • 용어를 암기한 소리만 따라가고 실제 상태나 한 단계 실행을 그리지 않는다.

5. 시험 답안 템플릿

먼저 \(E=V\)E=V×V인지 E⊆V×V인지, 다음으로 directed/undirected와 symmetry를 검사합니다. 각 선택지를 정의와 전제에 따라 독립 판정하면 참인 label은 A이다. 핵심 근거: finite graph는 정점과 간선이 모두 유한하다. directed graph에서 E⊆V×V이며 symmetry는 필수가 아니다. undirected graph는 unordered pairs 또는 symmetric relation로 표현한다. 현재 복기 문언은 exactly-two 규칙과 달리 A만 명확히 참이므로 누락·왜곡 가능성이 있다.

6. 스스로 이해했는지 확인

II-9의 주제를 한 문장으로 설명하면?

정답: 그래프 정의에서는 =와 ⊆를 바꾸는 순간 완전히 다른 말이 됩니다. E⊆V×V는 가능한 정점쌍 중 일부가 간선이라는 뜻이고 \(E=V\)E=V×V는 모든 쌍이 간선인 완전한 관계입니다.

이 문제에서 가장 먼저 꺼낼 판정법은?

정답: 먼저 \(E=V\)E=V×V인지 E⊆V×V인지, 다음으로 directed/undirected와 symmetry를 검사합니다.

핵심 사실 네 가지 중 첫 번째는?

정답: finite graph는 정점과 간선이 모두 유한하다.

핵심 사실 네 가지 중 두 번째는?

정답: directed graph에서 E⊆V×V이며 symmetry는 필수가 아니다.

가장 위험한 함정은?

정답: 등호, 부분집합, 대칭성은 서로 다른 세 가지 주장입니다.

정답 label은?

정답: A

방향 그래프(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 큐다.

근거 자료

  • AuD Gedächtnisprotokoll SoSe 2025.md · Multiple Choice II-9
    복기된 문언과 선택지; 공식 답안지가 아님
  • AuD Gedächtnisprotokoll SoSe 2025.md · MC section II, questions 9-11
    2025년 여름학기 복기 문구와 배점, 그리고 정확히 두 개 선택 규칙.
  • Vorlesung\06GraphAlgorithms.pdf · pp. 3-6
    유한 방향·무방향 그래프의 정의, E ⊆ V × V, 무방향 대칭성, 경로와 연결성.
  • Vorlesung\06GraphAlgorithms__moodle_2026-06-16.pdf · pp. 3-6
    Moodle 미러가 현재 강의의 동일한 그래프 정의 관례를 확인해 줍니다.
  • Vorlesung\06GraphAlgorithms.pdf · pp. 9, 14
    인접 행렬·인접 리스트 표현과 각각의 공간 비용.

개념을 덮고 같은 문항 다시 풀기

이 페이지 안에서 선택지를 고르고 채점하세요. 정답 해설은 제출한 뒤에 열립니다.

II-9 · 정확히 2개 선택 · 현재 복기 자료에서 검증된 정답 1개

Graphen:

그래프(Graph)에 관한 설명 중 참인 것을 고르시오. 복기상 exactly two 섹션이지만 이 문항은 표기 검토가 필요하다.

정답과 선택지별 해설 보기

정답: A · 기대 2개 / 확인 1개

핵심 함정: 등호, 부분집합, 대칭성은 서로 다른 세 가지 주장입니다.

10초 판별법: 먼저 선지가 \(E = V\)E = V × V라고 말하는지 확인하고, 이어서 방향성과 대칭성을 확인하세요.

마지막 생성: 2026-08-03 03:24