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

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

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

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

1.Легка

Який час виконання сортування підрахунком для n цілих чисел у діапазоні від 0 до k?

  1. AO(k log n)
  2. BO(n²)
  3. CO(n log n)
  4. DO(n + k)
2.Легка

Яку складність зазвичай має алгоритм із двома вкладеними циклами, кожен із яких виконується n разів?

  1. AO(n²)
  2. BO(n)
  3. CO(log n)
  4. DO(2n)
3.Легка

Який із цих часів виконання є поліноміальним?

  1. AO(2ⁿ)
  2. BO(n!)
  3. CO(nⁿ)
  4. DO(n³)
4.Середня

Скільки пам'яті стека використовує проста рекурсивна функція факторіала fact(n) = n × fact(n − 1)?

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

Чому динамічне програмування не дає реального пришвидшення для сортування злиттям?

  1. AДинамічне програмування працює лише на задачах про графи, а не на масивах
  2. BСортування злиттям не має рекурсивної структури
  3. CЙого підзадачі не перекриваються, тож нічого використати повторно
  4. DСортування злиттям уже має складність O(n)
6.Середня

Яке жадібне правило в задачі про вибір заявок (activity selection) завжди дає максимальну кількість заявок, що не перекриваються?

  1. AСпершу обрати найкоротшу заявку
  2. BОбрати заявку, що закінчується найраніше, а потім повторити із сумісними
  3. CОбрати заявку, що починається найраніше
  4. DСпершу обрати заявку з найменшою кількістю перекриттів, а потім повторити із сумісними
7.Складна

Яка часова складність побудови бінарної купи з n невідсортованих елементів висхідним методом (bottom-up)?

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

Який прийом забезпечує очікуваний час роботи O(n log n) для швидкого сортування на будь-яких вхідних даних?

  1. AВибір завжди першого елемента
  2. BЗастосування рекурсії лише до лівої частини
  3. CВибір опорного елемента випадково з рівномірним розподілом
  4. DСортування вхідних даних перед запуском швидкого сортування

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

  1. 1. D · O(n + k)
  2. 2. A · O(n²)
  3. 3. D · O(n³)
  4. 4. C · O(n)
  5. 5. C · Його підзадачі не перекриваються, тож нічого використати повторно
  6. 6. B · Обрати заявку, що закінчується найраніше, а потім повторити із сумісними
  7. 7. B · O(n)
  8. 8. C · Вибір опорного елемента випадково з рівномірним розподілом

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