1.쉬움
이진 탐색은 입력에 대해 무엇을 요구합니까?
- A배열의 원소가 1000개를 넘지 않아야 한다
- B배열이 정렬되어 있어야 한다
- C배열 길이가 2의 거듭제곱이어야 한다
- D배열에 양수만 있어야 한다
2.쉬움
3n² + 5n + 2의 Big O는 무엇입니까?
- AO(5n)
- BO(n²)
- CO(n³)
- DO(3n²)
3.쉬움
알고리즘의 실행 시간이 O(n)입니다. 이 증가를 무엇이라고 합니까?
- A로그
- B선형
- C상수
- D이차
4.보통
도달 가능한 기저 사례가 없는 재귀 함수에 대한 진술 중 옳은 것은 무엇입니까?
- A자동으로 0을 반환한다
- B컴파일러가 항상 안전하게 끝나는 루프로 바꾼다
- C호출 스택이 넘칠 때까지 계속 자신을 호출한다
- DO(1) 시간에 실행된다
5.보통
많은 라이브러리 정렬 루틴이 아주 작은 부분 배열에서 삽입 정렬로 전환하는 이유는 무엇입니까?
- A재귀 알고리즘은 원소가 10개 미만인 배열을 처리하지 못하기 때문에
- B큰 입력에서 삽입 정렬이 다른 어떤 정렬 알고리즘보다 메모리를 적게 쓰기 때문에
- C삽입 정렬은 오버헤드가 적고 작거나 거의 정렬된 입력에서 빠르기 때문에
- D삽입 정렬은 최악의 경우 O(n log n)이기 때문에
6.보통
문제가 최적 부분 구조를 가진다는 것은 무엇을 의미합니까?
- A최적해를 부분 문제들의 최적해로부터 만들 수 있다
- B모든 부분 문제의 크기가 같다
- C문제의 최적해가 정확히 하나이며 모든 부분 문제가 그것을 공유한다
- D문제를 상수 시간에 풀 수 있다
7.어려움
슈트라센 알고리즘은 절반 크기 블록의 재귀 곱셈을 8번 대신 7번 사용하여 행렬을 곱합니다. 실행 시간은 얼마입니까?
- AΘ(n2)
- BΘ(nlog₂ 7), 약 n2.81
- CΘ(n² log n)
- DΘ(n³)
8.어려움
어떤 문제가 NP-완전(NP-complete)이려면 어떤 조건을 만족해야 합니까?
- A푸는 것이 불가능하다
- B다항 시간에 풀 수 있다
- CNP 밖에 있으면서 정지 문제처럼 모든 NP 문제보다 어렵다
- DNP에 속하고 모든 NP 문제가 다항 시간에 그 문제로 환원된다
정답표
- 1. B · 배열이 정렬되어 있어야 한다
- 2. B · O(n²)
- 3. B · 선형
- 4. C · 호출 스택이 넘칠 때까지 계속 자신을 호출한다
- 5. C · 삽입 정렬은 오버헤드가 적고 작거나 거의 정렬된 입력에서 빠르기 때문에
- 6. A · 최적해를 부분 문제들의 최적해로부터 만들 수 있다
- 7. B · Θ(nlog₂ 7), 약 n2.81
- 8. D · NP에 속하고 모든 NP 문제가 다항 시간에 그 문제로 환원된다
자세한 단계별 풀이: examproblems.com에서 이 주제를 연습하세요.