정답이 있는 알고리즘과 복잡도 학습지
무료 인쇄용 알고리즘과 복잡도 학습지: 쉬운 문제부터 시험 수준까지 8문제, 정답표 포함. 인쇄하거나 PDF로 저장하세요.
교수자 안내: 수업에서 무료로 인쇄, 복사, 사용할 수 있습니다. 새 워크시트마다 값이 새로 바뀌고 별도의 정답이 함께 제공됩니다. 강의 페이지에 ExamProblems 링크를 걸어 주시면 감사하겠습니다.
이름: ____________________ 날짜: ____________
1.쉬움
알고리즘의 실행 시간이 O(n)입니다. 이 증가를 무엇이라고 합니까?
- A로그
- B상수
- C선형
- D이차
2.쉬움
알고리즘의 최악의 경우 실행 시간은 무엇을 나타냅니까?
- A가장 작은 입력에서 걸리는 시간
- B크기 n인 무작위 입력에서 걸리는 기대 시간
- C크기 n인 모든 입력 중에서 걸리는 최대 시간
- D느린 컴퓨터에서 걸리는 시간
3.쉬움
무차별 대입(brute-force) 알고리즘이란 무엇입니까?
- A가능한 모든 후보 해를 시도하는 알고리즘
- B여러 프로세서에서 실행되는 알고리즘
- C항상 재귀를 사용하는 알고리즘
- D무작위로 답을 추측하는 알고리즘
4.보통
O(log n)처럼 Big O에서 로그의 밑을 보통 생략하는 이유는 무엇입니까?
- A로그는 항상 정수로 반올림되기 때문에
- B밑은 n이 작을 때만 중요하기 때문에
- C밑이 다른 로그는 상수배만큼만 다르기 때문에
- D컴퓨터 과학의 모든 로그는 밑이 10이므로 생략해도 알 수 있기 때문에
5.보통
상향식 표로 n번째 피보나치 수를 계산하는 시간 복잡도는 무엇입니까?
- AO(2ⁿ)
- BO(n)
- CO(log n)
- DO(n²)
6.보통
점화식 T(n) = 2T(n/2) + O(1)의 해는 무엇입니까?
- AO(log n)
- BO(n log n)
- CO(n²)
- DO(n)
7.어려움
한 번 증가할 때 많은 비트가 뒤집힐 수 있다는 점을 고려할 때, 이진 카운터 증가의 분할 상환 비용은 얼마입니까?
- A증가당 O(1)
- B증가당 O(n)
- C증가당 O(n log n)
- D증가당 O(log n)
8.어려움
삽입 정렬은 정렬된 입력에서 O(n)에 실행됩니다. 이것은 비교 정렬의 Ω(n log n) 하한과 모순됩니까?
- A아니요, 삽입 정렬은 비교 정렬이 아니기 때문에
- B아니요, 하한은 모든 입력이 아니라 모든 입력에 걸친 최악의 경우에 적용된다
- C예, 단 길이가 100보다 짧은 배열에서만
- D예, 따라서 하한이 틀렸다
정답표
- 1. C · 선형
- 2. C · 크기 n인 모든 입력 중에서 걸리는 최대 시간
- 3. A · 가능한 모든 후보 해를 시도하는 알고리즘
- 4. C · 밑이 다른 로그는 상수배만큼만 다르기 때문에
- 5. B · O(n)
- 6. D · O(n)
- 7. A · 증가당 O(1)
- 8. B · 아니요, 하한은 모든 입력이 아니라 모든 입력에 걸친 최악의 경우에 적용된다
자세한 단계별 풀이: examproblems.com에서 이 주제를 연습하세요.