Робочий аркуш «Алгоритми та складність» з відповідями

Безкоштовний робочий аркуш для друку «Алгоритми та складність»: 8 задач від легких до рівня іспиту, з ключем відповідей. Роздрукуйте його або збережіть як PDF.

Для викладачів: можна безкоштовно друкувати, копіювати й використовувати на заняттях. Кожен новий аркуш має нові значення і власні відповіді. Будемо вдячні за посилання на ExamProblems на сторінці вашого курсу.

Ім’я: ____________________   Дата: ____________

1.Легка

Що описує час виконання алгоритму в найгіршому випадку?

  1. AМаксимальний час на всіх вхідних даних розміру n
  2. BЧас на повільному комп'ютері
  3. CЧас на найменших вхідних даних
  4. DОчікуваний час на випадкових вхідних даних розміру n
2.Легка

Яке позначення описує нижню межу зростання?

  1. AΩ (велике Омега)
  2. Bo (мале o)
  3. CΘ (велике Тета)
  4. DO (велике O)
3.Легка

Що таке мемоізація?

  1. AАвтоматичне перетворення рекурсії на рівносильний цикл, щоб стек викликів не був потрібен
  2. BЗбереження результатів викликів функції, щоб повторні виклики отримували відповідь із пам'яті
  3. CЗвільнення пам'яті після повернення з функції
  4. DНаписання коментарів біля кожного рядка коду
4.Середня

Динамічне програмування корисне, коли задача має:

  1. AПерекривні підзадачі та оптимальну підструктуру
  2. BЛише випадкові вхідні дані
  3. CЖодних підзадач, тож її можна розв'язати за один крок
  4. DОдин цикл
5.Середня

Який розв'язок рекурентного співвідношення T(n) = 2T(n − 1) + O(1)?

  1. AO(n²)
  2. BO(n log n)
  3. CO(n)
  4. DO(2ⁿ)
6.Середня

Який розв'язок рекурентного співвідношення T(n) = T(n − 1) + O(n)?

  1. AO(n)
  2. BO(2ⁿ)
  3. CO(n log n)
  4. DO(n²)
7.Складна

Яка часова складність: for i = 1 to n: for (j = i; j ≤ n; j = j + i) виконати роботу O(1)?

  1. AO(n)
  2. BO(n²)
  3. CO(n √n)
  4. DO(n log n)
8.Складна

Яке твердження про позначення «мале o» правильне?

  1. An = o(n²), але n не є o(n)
  2. Bn = o(n), бо кожна функція є «мале o» від самої себе
  3. C2n = o(n), бо 2n зростає повільно
  4. Dn² = o(n)

Ключ відповідей

  1. 1. A · Максимальний час на всіх вхідних даних розміру n
  2. 2. A · Ω (велике Омега)
  3. 3. B · Збереження результатів викликів функції, щоб повторні виклики отримували відповідь із пам'яті
  4. 4. A · Перекривні підзадачі та оптимальну підструктуру
  5. 5. D · O(2ⁿ)
  6. 6. D · O(n²)
  7. 7. D · O(n log n)
  8. 8. A · n = o(n²), але n не є o(n)

Повні покрокові розв’язки: тренуйте цю тему на examproblems.com.