자료구조와 알고리즘: 벼락치기 팩

공식 모음, 모든 주제의 핵심 풀이 단계, 연습 문제 6개가 들어 있으며 전체 풀이는 맨 뒤에 있습니다.

새 문제강의로 돌아가기

인쇄 창에서 “PDF로 저장”을 선택하면 기기에 사본을 보관할 수 있습니다.

1공식과 풀이 방법

그래프 이론

악수 보조정리
Σ deg(v) = 2|E|
완전그래프
|E(Kn)| = n(n − 1)/2, |E(Km,n)| = m·n
정규그래프
|E| = n·k/2
트리와 포리스트
|E| = n − 1, |E| = n − c
트리의 잎
L = 2 + Σ (deg(v) − 2) over deg(v) ≥ 3
오일러
회로: 모든 차수가 짝수; 경로: 차수가 홀수인 정점이 정확히 2개
Kn의 해밀턴 회로
(n − 1)!/2
다익스트라 갱신
d(v) = min(d(v), d(u) + w(u, v))
길이 L의 보행
(Mᴸ)ij

방법

  1. 모든 정점의 차수를 적으세요. 차수의 합은 간선 수의 두 배입니다.
  2. 오일러 문제에서는 그래프가 연결되어 있는지 확인하고 차수가 홀수인 정점의 수를 세세요.
  3. 트리에서는 간선이 n − 1개라는 사실과 악수 보조정리를 사용하세요.
  4. 다익스트라에서는 임시 거리 표를 만들고, 매 단계마다 확정되지 않은 정점 중 거리가 가장 작은 정점을 확정하세요.
  5. 최소 신장 트리는 간선을 가중치 순으로 정렬해 사이클을 만드는 간선을 건너뛰거나(크루스칼), 시작 정점에서 트리 하나를 키워 가세요(프림).

2연습 문제

1.알고리즘과 복잡도보통

가득 차면 용량을 두 배로 늘리는 동적 배열에 원소를 추가하는 연산의 분할 상환(amortised) 시간 복잡도는 무엇입니까?

  1. AO(n)
  2. BO(log n)
  3. CO(n²)
  4. DO(1)
2.알고리즘과 복잡도어려움

벨만-포드 알고리즘은 출발점에서 도달 가능한 음의 가중치 사이클을 어떻게 탐지합니까?

  1. A다익스트라 알고리즘을 두 번 실행하여 두 거리 결과를 비교한다
  2. B깊이 우선 탐색으로 사이클 수를 센다
  3. CV − 1 라운드 후 아직 완화할 수 있는 간선이 있는지 확인한다
  4. D음의 가중치를 가진 간선이 있는지 확인한다
3.자료구조보통

큐를 스택 두 개로 구현합니다. "in" 스택에 push하고 "out" 스택에서 pop하며, "out"이 비면 "in"에서 다시 채웁니다. 연산당 분할 상환 비용은 얼마입니까?

  1. AO(1)
  2. BO(n²)
  3. CO(log n)
  4. DO(n)
4.자료구조어려움

레드-블랙 트리 규칙은 키가 n개인 트리의 높이에 대해 무엇을 보장합니까?

  1. A높이는 최대 2 log2(n + 1)이다
  2. B높이는 최대 log2 n + 1이다
  3. C높이는 정확히 log2 n이다
  4. D높이는 최대 n / 2이다
5.그래프 이론보통

연결 그래프의 정점이 6개이고 간선이 8개이다. 신장 트리가 남도록 제거해야 하는 간선은 몇 개(k)인가?

|V| = 6|E| = 8
k =
6.그래프 이론어려움
ABCDE

B에서 출발해 같은 정점으로 돌아오는 길이 2의 닫힌 보행은 몇 개인가? 보행에서는 정점과 간선이 반복될 수 있다. 그 수를 N(이)라 하자.

M = 인접 행렬L = 2
N =

3용액

1.알고리즘과 복잡도

답: D · O(1)

이것이 답인 이유

모든 원소의 복사는 크기가 2의 거듭제곱일 때만 발생하므로, 모든 추가 연산에 나누어 보면 추가 한 번당 평균 비용은 상수입니다.

답

D · O(1)
2.알고리즘과 복잡도

답: C · V − 1 라운드 후 아직 완화할 수 있는 간선이 있는지 확인한다

이것이 답인 이유

진짜 최단 거리는 모두 V − 1 라운드 안에 구해집니다. 그 후에도 간선을 개선할 수 있다면 음의 사이클이 존재해야 합니다.

답

C · V − 1 라운드 후 아직 완화할 수 있는 간선이 있는지 확인한다
3.자료구조

답: A · O(1)

이것이 답인 이유

각 원소는 모두 합쳐 최대 두 번 push되고 pop되므로, 한 번의 다시 채우기가 O(n)이 걸릴 수 있더라도 연산 순서 전체의 평균은 O(1)입니다.

답

A · O(1)
4.자료구조

답: A · 높이는 최대 2 log2(n + 1)이다

이것이 답인 이유

모든 경로에 검은 노드 수가 같고 빨간 노드는 이웃할 수 없으므로 가장 긴 경로는 가장 짧은 경로의 최대 두 배이며, 높이는 O(log n)이 됩니다.

답

A · 높이는 최대 2 log2(n + 1)이다
5.그래프 이론

답: k = 3

오일러, 해밀턴, 트리: 연결 그래프는 모든 정점의 차수가 짝수이면 오일러 회로(모든 간선을 한 번씩 지나 출발점으로 돌아옴)를 가지고, 차수가 홀수인 정점이 정확히 두 개이면 회로가 아닌 오일러 경로를 가집니다. 이 경로는 한 홀수 정점에서 다른 홀수 정점까지 이어집니다. 해밀턴 회로는 모든 정점을 한 번씩 방문하며, Kn에는 (n − 1)!/2개가 있습니다. 정점이 n개인 트리는 간선이 n − 1개이고, 간선이 m개인 연결 그래프는 m − n + 1개의 간선을 제거한 뒤에도 신장 트리를 유지합니다.

신장 트리의 간선

6 − 1 = 5

제거할 간선

k = 8 − 5 = 3

답

k = 3
6.그래프 이론

답: N = 4

차수: 정점의 차수는 그 정점에 닿는 간선의 수입니다. 모든 간선은 양 끝이 있으므로 차수의 합은 간선 수의 두 배입니다: Σ deg(v) = 2|E|(악수 보조정리). 따라서 차수가 홀수인 정점의 수는 짝수입니다. Kn은 간선이 n(n − 1)/2개이고, 정점이 n개인 k-정규그래프는 nk/2개이며, 정점이 n개인 트리는 간선이 n − 1개입니다.

인접 행렬

A: 0 1 1 0 0
B: 1 0 1 1 1
C: 1 1 0 0 0
D: 0 1 0 0 1
E: 0 1 0 1 0

공통 이웃

(M²)BB = 1·1 + 0·0 + 1·1 + 1·1 + 1·1 = 4

답

N = 4

ExamProblems · examproblems.com/courses/data-structures-and-algorithms