1.쉬움
순서가 잘못된 인접 원소를 반복적으로 교환하는 정렬 알고리즘은 무엇입니까?
- A퀵 정렬(Quicksort)
- B힙 정렬(Heap sort)
- C병합 정렬(Merge sort)
- D버블 정렬(Bubble sort)
2.쉬움
이미 정렬된 배열에서 삽입 정렬의 최선의 경우 시간 복잡도는 무엇입니까?
- AO(n)
- BO(n²)
- CO(n log n)
- DO(1)
3.쉬움
n개의 수로 된 정렬되지 않은 배열에서 가장 큰 값을 찾는 시간 복잡도는 무엇입니까?
- AO(n)
- BO(1)
- CO(log n)
- DO(n log n)
4.보통
점화식 T(n) = T(n − 1) + O(1)의 해는 무엇입니까?
- AO(n²)
- BO(2ⁿ)
- CO(log n)
- DO(n)
5.보통
원소가 1,000,000개인 정렬된 배열에서 이진 탐색은 최악의 경우 대략 몇 번 비교합니까?
- A약 20
- B약 1,000
- C약 500,000
- D약 100
6.보통
도달 가능한 기저 사례가 없는 재귀 함수에 대한 진술 중 옳은 것은 무엇입니까?
- A호출 스택이 넘칠 때까지 계속 자신을 호출한다
- B컴파일러가 항상 안전하게 끝나는 루프로 바꾼다
- CO(1) 시간에 실행된다
- D자동으로 0을 반환한다
7.어려움
결정 불가능한 문제와 다루기 어려운 문제의 차이는 무엇입니까?
- A결정 불가능한 문제는 모든 입력에 대한 알고리즘이 없고, 다루기 어려운 문제는 알고리즘이 있지만 너무 느리다
- B다루기 어려운 문제는 어떤 알고리즘으로도 풀 수 없고, 결정 불가능한 문제는 지수 시간만 있으면 된다
- C결정 불가능한 문제는 NP에, 다루기 어려운 문제는 P에 속한다
- D둘 다 그 문제에 알고리즘이 전혀 없다는 뜻이다
8.어려움
클래스 NP의 올바른 정의는 무엇입니까?
- A다항이 아닌 문제
- B인증서가 주어지면 "예" 답을 다항 시간에 검증할 수 있는 결정 문제
- C어떤 알고리즘으로도 풀 수 없는 문제
- D다항 시간에 풀 수 없는 문제
정답표
- 1. D · 버블 정렬(Bubble sort)
- 2. A · O(n)
- 3. A · O(n)
- 4. D · O(n)
- 5. A · 약 20
- 6. A · 호출 스택이 넘칠 때까지 계속 자신을 호출한다
- 7. A · 결정 불가능한 문제는 모든 입력에 대한 알고리즘이 없고, 다루기 어려운 문제는 알고리즘이 있지만 너무 느리다
- 8. B · 인증서가 주어지면 "예" 답을 다항 시간에 검증할 수 있는 결정 문제
자세한 단계별 풀이: examproblems.com에서 이 주제를 연습하세요.