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

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

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

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

1.Легка

Алгоритм O(n²) працює 1 секунду для n = 1000. Приблизно скільки він працюватиме для n = 2000?

  1. A1 секунду
  2. B4 секунди
  3. C2 секунди
  4. D8 секунд
2.Легка

Яка нотація описує верхню межу зростання?

  1. AМале омега
  2. BВелике Омега
  3. CВелике O
  4. DВелике Тета
3.Легка

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

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

Який алгоритм знаходить найкоротші шляхи з одного джерела в графі з невід'ємними вагами ребер?

  1. AАлгоритм Дейкстри
  2. BПошук у глибину (DFS)
  3. CУ всіх випадках потрібен алгоритм Беллмана–Форда
  4. DАлгоритм Краскала
5.Середня

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

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

Розв'язком рекурентного співвідношення T(n) = 2T(n/2) + O(n) є:

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

Алгоритм динамічного програмування Гелда–Карпа точно розв'язує задачу комівояжера. Який його час виконання для n міст?

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

Що треба зробити, щоб показати, що нова задача X є NP-складною?

  1. AПоказати, що X можна перевірити за поліноміальний час
  2. BЗвести відому NP-складну задачу до X за поліноміальний час
  3. CПоказати, що X не має поліноміального алгоритму для малих вхідних даних
  4. DЗвести X до відомої NP-складної задачі за поліноміальний час

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

  1. 1. B · 4 секунди
  2. 2. C · Велике O
  3. 3. B · Збереження результатів викликів функції, щоб повторні виклики отримували відповідь із пам'яті
  4. 4. A · Алгоритм Дейкстри
  5. 5. C · O(n)
  6. 6. D · O(n log n)
  7. 7. D · O(n² 2ⁿ)
  8. 8. B · Звести відому NP-складну задачу до X за поліноміальний час

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