1.쉬움
log₂ 1024는 얼마입니까?
- A32
- B512
- C10
- D12
2.쉬움
알고리즘이란 무엇입니까?
- A그래픽 인터페이스가 있는 모든 컴퓨터 프로그램
- B수학 공식을 쓰기 위해 설계된 프로그래밍 언어
- C문제를 해결하는 잘 정의된 단계들의 유한한 순서
- D수를 저장하는 자료 구조
3.쉬움
n개의 원소를 가진 정렬되지 않은 배열에서 선형 탐색(linear search)의 시간 복잡도(최악의 경우)는 무엇입니까?
- AO(log n)
- BO(n)
- CO(1)
- DO(n²)
4.보통
문제가 최적 부분 구조를 가진다는 것은 무엇을 의미합니까?
- A문제를 상수 시간에 풀 수 있다
- B문제의 최적해가 정확히 하나이며 모든 부분 문제가 그것을 공유한다
- C최적해를 부분 문제들의 최적해로부터 만들 수 있다
- D모든 부분 문제의 크기가 같다
5.보통
퀵 정렬의 최악의 경우 시간 복잡도는 무엇입니까?
- AO(n²)
- BO(log n)
- CO(n)
- DO(n log n)
6.보통
분할 상환 분석(amortised analysis)은 무엇을 측정합니까?
- A최악의 연산 순서에 걸친 연산당 평균 비용
- B무작위 입력에 대한 기대 비용
- C최선의 입력에서 알고리즘의 비용
- D연산열 전체에서 가장 비싼 단일 연산 하나의 비용
7.어려움
외판원 문제는 어떻게 분류됩니까?
- A결정 버전은 NP-complete이고 최적화 버전은 NP-hard이다
- B결정 버전은 P에 속하지만 최적화 버전은 NP-complete이다
- C다익스트라 알고리즘이 모든 도시를 한 번씩 방문하여 풀기 때문에 P에 속한다
- D결정 불가능하다
8.어려움
for i = 1 to n: for (j = i; j ≤ n; j = j + i) O(1) 작업 수행 — 이 코드의 시간 복잡도는 무엇입니까?
- AO(n)
- BO(n log n)
- CO(n²)
- DO(n √n)
정답표
- 1. C · 10
- 2. C · 문제를 해결하는 잘 정의된 단계들의 유한한 순서
- 3. B · O(n)
- 4. C · 최적해를 부분 문제들의 최적해로부터 만들 수 있다
- 5. A · O(n²)
- 6. A · 최악의 연산 순서에 걸친 연산당 평균 비용
- 7. A · 결정 버전은 NP-complete이고 최적화 버전은 NP-hard이다
- 8. B · O(n log n)
자세한 단계별 풀이: examproblems.com에서 이 주제를 연습하세요.