1.쉬움
알고리즘의 실행 시간이 O(n)입니다. 이 증가를 무엇이라고 합니까?
- A상수
- B로그
- C선형
- D이차
2.쉬움
분할 정복 알고리즘의 세 단계는 무엇입니까?
- A정렬, 탐색, 반환
- B추측, 확인, 반복
- C읽기, 계산, 쓰기
- D분할, 정복, 결합
3.쉬움
정렬된 배열에서 이진 탐색(binary search)의 시간 복잡도는 무엇입니까?
- AO(n)
- BO(n log n)
- CO(1)
- DO(log n)
4.보통
퀵 정렬의 최악의 경우 시간 복잡도는 무엇입니까?
- AO(n log n)
- BO(n²)
- CO(n)
- DO(log n)
5.보통
동적 프로그래밍(dynamic programming)은 문제가 무엇을 가질 때 유용합니까?
- A중복되는 부분 문제와 최적 부분 구조
- B부분 문제가 전혀 없어 한 단계로 풀 수 있음
- C루프가 하나뿐임
- D무작위 입력만 있음
6.보통
단순 재귀 피보나치(fib(n) = fib(n−1) + fib(n−2))의 시간 복잡도는 무엇입니까?
- A상수 시간
- B로그 시간
- C지수 시간
- D선형 시간
7.어려움
카라추바 곱셈은 T(n) = 3T(n/2) + O(n)을 만족합니다. 해는 무엇입니까?
- AΘ(n3)
- BΘ(n log n)
- CΘ(n²)
- DΘ(nlog₂ 3), 약 n1.585
8.어려움
큰 n에서 n!과 2ⁿ은 어떻게 비교됩니까?
- A같은 비율로 증가한다
- Bn!이 2ⁿ보다 빠르게 증가한다
- C2ⁿ이 n!보다 빠르게 증가한다
- Dn!은 O(n²)이다
정답표
- 1. C · 선형
- 2. D · 분할, 정복, 결합
- 3. D · O(log n)
- 4. B · O(n²)
- 5. A · 중복되는 부분 문제와 최적 부분 구조
- 6. C · 지수 시간
- 7. D · Θ(nlog₂ 3), 약 n1.585
- 8. B · n!이 2ⁿ보다 빠르게 증가한다
자세한 단계별 풀이: examproblems.com에서 이 주제를 연습하세요.