1.쉬움
증가율의 하한(lower bound)을 나타내는 표기법은 무엇입니까?
- AΩ (Big Omega)
- BΘ (Big Theta)
- Co (little o)
- DO (Big O)
2.쉬움
다음 실행 시간 중 다항 시간은 무엇입니까?
- AO(nⁿ)
- BO(n!)
- CO(2ⁿ)
- DO(n³)
3.쉬움
f(n) = Θ(g(n))은 무엇을 의미합니까?
- A모든 n에 대해 f가 항상 g보다 작으므로, g가 위에서는 한정하지만 아래에서는 한정하지 않는다
- Bf는 g보다 엄격히 느리게 증가한다
- Cf는 g보다 엄격히 빠르게 증가한다
- Df는 g와 같은 비율로 증가하며, 위아래로 g의 상수배에 의해 한정된다
4.보통
for i = 1 to n: (j = 1; while j < n: j = j × 2) — 이 코드의 시간 복잡도는 무엇입니까?
- AO(n²)
- BO(n log n)
- CO(log n)
- DO(n)
5.보통
프림 알고리즘은 최소 신장 트리를 어떻게 만듭니까?
- A너비 우선 탐색을 실행하고 BFS 트리를 유지한다
- B시작 정점에서 트리 하나를 키우며 트리를 떠나는 가장 싼 간선을 추가한다
- C간선을 가중치순으로 모두 정렬하여 숲에서 사이클을 만들지 않는 간선을 하나씩 추가한다
- D사이클이 없어질 때까지 가장 비싼 간선을 제거한다
6.보통
상향식 표로 n번째 피보나치 수를 계산하는 시간 복잡도는 무엇입니까?
- AO(2ⁿ)
- BO(log n)
- CO(n²)
- DO(n)
7.어려움
쿡-레빈 정리는 무엇을 확립했습니까?
- AP는 NP와 같지 않다
- B모든 NP 문제는 지수 시간에 풀 수 있다
- C정지 문제는 결정 불가능하다
- D불리언 충족 가능성 문제(SAT)는 NP-complete이다
8.어려움
벨만-포드 알고리즘은 출발점에서 도달 가능한 음의 가중치 사이클을 어떻게 탐지합니까?
- A깊이 우선 탐색으로 사이클 수를 센다
- BV − 1 라운드 후 아직 완화할 수 있는 간선이 있는지 확인한다
- C다익스트라 알고리즘을 두 번 실행하여 두 거리 결과를 비교한다
- D음의 가중치를 가진 간선이 있는지 확인한다
정답표
- 1. A · Ω (Big Omega)
- 2. D · O(n³)
- 3. D · f는 g와 같은 비율로 증가하며, 위아래로 g의 상수배에 의해 한정된다
- 4. B · O(n log n)
- 5. B · 시작 정점에서 트리 하나를 키우며 트리를 떠나는 가장 싼 간선을 추가한다
- 6. D · O(n)
- 7. D · 불리언 충족 가능성 문제(SAT)는 NP-complete이다
- 8. B · V − 1 라운드 후 아직 완화할 수 있는 간선이 있는지 확인한다
자세한 단계별 풀이: examproblems.com에서 이 주제를 연습하세요.