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

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

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

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

1.Легка

Що означає f(n) = Θ(g(n))?

  1. Af зростає строго швидше, ніж g
  2. Bf завжди менша за g для кожного n, тож g обмежує її зверху, але ніколи знизу
  3. Cf зростає строго повільніше, ніж g
  4. Df зростає з тією самою швидкістю, що й g, обмежена зверху й знизу сталими кратними g
2.Легка

Цикл починається з i = 1 і подвоює i на кожній ітерації, доки i > n. Скільки ітерацій він виконує?

  1. AБлизько n / 2
  2. BБлизько log₂ n
  3. CБлизько n²
  4. DБлизько n
3.Легка

Який алгоритм сортування обирає опорний елемент і розбиває масив на менші й більші елементи?

  1. AСортування злиттям
  2. BШвидке сортування (quicksort)
  3. CСортування вставками
  4. DСортування бульбашкою
4.Середня

Маючи монети номіналом 1, 3 і 4 та суму 6, скільки монет використовує жадібний метод «спершу найбільша монета» порівняно з оптимумом?

  1. AЖадібний використовує 2 монети; оптимум — 2
  2. BЖадібний використовує 3 монети; оптимум — 2
  3. CЖадібний використовує 4 монети; оптимум — 3
  4. DЖадібний використовує 3 монети; оптимум — 3
5.Середня

Часова складність наївного рекурсивного обчислення чисел Фібоначчі (fib(n) = fib(n−1) + fib(n−2)) є:

  1. AЛінійною
  2. BЛогарифмічною
  3. CСталою
  4. DЕкспоненційною
6.Середня

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

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

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

  1. AΘ(n log n)
  2. BΘ(n log² n)
  3. CΘ(n)
  4. DΘ(n²)
8.Складна

Проблема зупинки показує, що:

  1. AСлід уникати циклів
  2. BЖоден алгоритм не може для кожної програми та вхідних даних визначити, чи зупиниться вона
  3. CКожна програма врешті-решт зупиняється
  4. DДеякі програми працюють швидше на швидших комп'ютерах, тож зупинка залежить від апаратного забезпечення

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

  1. 1. D · f зростає з тією самою швидкістю, що й g, обмежена зверху й знизу сталими кратними g
  2. 2. B · Близько log₂ n
  3. 3. B · Швидке сортування (quicksort)
  4. 4. B · Жадібний використовує 3 монети; оптимум — 2
  5. 5. D · Експоненційною
  6. 6. C · O(n)
  7. 7. B · Θ(n log² n)
  8. 8. B · Жоден алгоритм не може для кожної програми та вхідних даних визначити, чи зупиниться вона

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