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

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

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

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

1.Легка

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

  1. A3 секунди
  2. B12 секунд
  3. C6 секунд
  4. D9 секунд
2.Легка

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

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

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

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

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

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

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

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

Яка часова складність стандартного алгоритму динамічного програмування для найдовшої спільної підпослідовності рядків довжиною m і n?

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

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

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

Яке визначення класу NP правильне?

  1. AЗадачі розпізнавання, відповіді «так» для яких можна перевірити за поліноміальний час за наявності сертифіката
  2. BЗадачі, що не є поліноміальними
  3. CЗадачі, які неможливо розв'язати за поліноміальний час
  4. DЗадачі, які не може розв'язати жоден алгоритм

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

  1. 1. C · 6 секунд
  2. 2. D · f зростає з тією самою швидкістю, що й g, обмежена зверху й знизу сталими кратними g
  3. 3. C · O(n log n)
  4. 4. D · O(n)
  5. 5. C · Перекривні підзадачі та оптимальну підструктуру
  6. 6. B · O(mn)
  7. 7. C · Звести відому NP-складну задачу до X за поліноміальний час
  8. 8. A · Задачі розпізнавання, відповіді «так» для яких можна перевірити за поліноміальний час за наявності сертифіката

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