정답이 있는 알고리즘과 복잡도 학습지

무료 인쇄용 알고리즘과 복잡도 학습지: 쉬운 문제부터 시험 수준까지 8문제, 정답표 포함. 인쇄하거나 PDF로 저장하세요.

교수자 안내: 수업에서 무료로 인쇄, 복사, 사용할 수 있습니다. 새 워크시트마다 값이 새로 바뀌고 별도의 정답이 함께 제공됩니다. 강의 페이지에 ExamProblems 링크를 걸어 주시면 감사하겠습니다.

이름: ____________________   날짜: ____________

1.쉬움

재귀 함수의 기저 사례(base case)란 무엇입니까?

  1. A메모리를 가장 많이 쓰는 호출
  2. B함수의 첫 줄
  3. C입력이 가장 큰 경우로, 재귀 호출보다 먼저 처리된다
  4. D또 다른 재귀 호출 없이 직접 답을 내는 경우
2.쉬움

n이 클 때 가장 빠르게 증가하는 복잡도 클래스는 무엇입니까?

  1. AO(n²)
  2. BO(n³)
  3. CO(2ⁿ)
  4. DO(n log n)
3.쉬움

n개의 원소를 가진 정렬되지 않은 배열에서 선형 탐색(linear search)의 시간 복잡도(최악의 경우)는 무엇입니까?

  1. AO(log n)
  2. BO(n)
  3. CO(n²)
  4. DO(1)
4.보통

표준 삼중 루프로 두 n × n 행렬을 곱하는 시간 복잡도는 무엇입니까?

  1. AO(n²)
  2. BO(n³)
  3. CO(n)
  4. DO(n² log n)
5.보통

원소 n개의 배열을 한 번 정렬한 뒤 이진 탐색으로 k개의 소속 질의에 답합니다. 전체 비용은 얼마입니까?

  1. AO(nk)
  2. BO(n log n + k log n)
  3. CO(k n log n)
  4. DO(n + k)
6.보통

가득 차면 용량을 두 배로 늘리는 동적 배열에 원소를 추가하는 연산의 분할 상환(amortised) 시간 복잡도는 무엇입니까?

  1. AO(log n)
  2. BO(n)
  3. CO(1)
  4. DO(n²)
7.어려움

큰 n에서 n!과 2ⁿ은 어떻게 비교됩니까?

  1. A같은 비율로 증가한다
  2. Bn!은 O(n²)이다
  3. C2ⁿ이 n!보다 빠르게 증가한다
  4. Dn!이 2ⁿ보다 빠르게 증가한다
8.어려움

삽입 정렬은 정렬된 입력에서 O(n)에 실행됩니다. 이것은 비교 정렬의 Ω(n log n) 하한과 모순됩니까?

  1. A예, 따라서 하한이 틀렸다
  2. B아니요, 삽입 정렬은 비교 정렬이 아니기 때문에
  3. C아니요, 하한은 모든 입력이 아니라 모든 입력에 걸친 최악의 경우에 적용된다
  4. D예, 단 길이가 100보다 짧은 배열에서만

정답표

  1. 1. D · 또 다른 재귀 호출 없이 직접 답을 내는 경우
  2. 2. C · O(2ⁿ)
  3. 3. B · O(n)
  4. 4. B · O(n³)
  5. 5. B · O(n log n + k log n)
  6. 6. C · O(1)
  7. 7. D · n!이 2ⁿ보다 빠르게 증가한다
  8. 8. C · 아니요, 하한은 모든 입력이 아니라 모든 입력에 걸친 최악의 경우에 적용된다

자세한 단계별 풀이: examproblems.com에서 이 주제를 연습하세요.