1.쉬움
O(n²) 알고리즘이 n = 1000에서 1초 걸립니다. n = 2000에서는 대략 얼마나 걸립니까?
- A1초
- B4초
- C8초
- D2초
2.쉬움
메모이제이션(memoisation)이란 무엇입니까?
- A코드의 각 줄 옆에 주석을 쓰는 것
- B재귀를 동등한 루프로 자동 변환하여 호출 스택이 필요 없게 만드는 것
- C함수 호출 결과를 저장하여 반복 호출에 메모리에서 답하는 것
- D함수가 반환된 뒤 메모리를 해제하는 것
3.쉬움
알고리즘이란 무엇입니까?
- A문제를 해결하는 잘 정의된 단계들의 유한한 순서
- B수를 저장하는 자료 구조
- C그래픽 인터페이스가 있는 모든 컴퓨터 프로그램
- D수학 공식을 쓰기 위해 설계된 프로그래밍 언어
4.보통
O(log n)처럼 Big O에서 로그의 밑을 보통 생략하는 이유는 무엇입니까?
- A컴퓨터 과학의 모든 로그는 밑이 10이므로 생략해도 알 수 있기 때문에
- B로그는 항상 정수로 반올림되기 때문에
- C밑은 n이 작을 때만 중요하기 때문에
- D밑이 다른 로그는 상수배만큼만 다르기 때문에
5.보통
상향식 표로 n번째 피보나치 수를 계산하는 시간 복잡도는 무엇입니까?
- AO(n²)
- BO(log n)
- CO(n)
- DO(2ⁿ)
6.보통
원소 n개의 배열에 대한 병합 정렬의 재귀에는 몇 개의 단계가 있습니까?
- A약 n / 2
- B약 √n
- C약 n
- D약 log₂ n
7.어려움
쿡-레빈 정리는 무엇을 확립했습니까?
- A모든 NP 문제는 지수 시간에 풀 수 있다
- B불리언 충족 가능성 문제(SAT)는 NP-complete이다
- CP는 NP와 같지 않다
- D정지 문제는 결정 불가능하다
8.어려움
한 번 증가할 때 많은 비트가 뒤집힐 수 있다는 점을 고려할 때, 이진 카운터 증가의 분할 상환 비용은 얼마입니까?
- A증가당 O(log n)
- B증가당 O(n log n)
- C증가당 O(1)
- D증가당 O(n)
정답표
- 1. B · 4초
- 2. C · 함수 호출 결과를 저장하여 반복 호출에 메모리에서 답하는 것
- 3. A · 문제를 해결하는 잘 정의된 단계들의 유한한 순서
- 4. D · 밑이 다른 로그는 상수배만큼만 다르기 때문에
- 5. C · O(n)
- 6. D · 약 log₂ n
- 7. B · 불리언 충족 가능성 문제(SAT)는 NP-complete이다
- 8. C · 증가당 O(1)
자세한 단계별 풀이: examproblems.com에서 이 주제를 연습하세요.