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

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

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

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

1.Легка

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

  1. Ao (мале o)
  2. BΩ (велике Омега)
  3. CO (велике O)
  4. DΘ (велике Тета)
2.Легка

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

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

Задачу зазвичай називають практично розв'язною (tractable), якщо:

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

Що вимірює амортизований аналіз?

  1. AВартість алгоритму на найкращих вхідних даних
  2. BВартість однієї найдорожчої операції будь-де в послідовності
  3. CСередню вартість операції на послідовності операцій у найгіршому випадку
  4. DОчікувану вартість на випадкових вхідних даних
5.Середня

Жадібний алгоритм:

  1. AЗавжди дає оптимальний розв'язок
  2. BВикористовує лише рекурсію
  3. CНа кожному кроці робить локально найкращий вибір
  4. DПеребирає всі можливі розв'язки
6.Середня

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

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

Чому будь-який пошук порівняннями у відсортованому масиві потребує Ω(log n) порівнянь у найгіршому випадку?

  1. AДерево рішень з n можливими результатами має глибину щонайменше log₂ n
  2. BКожне порівняння триває логарифмічний час
  3. CБінарний пошук — єдиний можливий алгоритм, і йому потрібно log₂ n порівнянь
  4. DКожен елемент треба порівняти щонайменше один раз
8.Складна

Що випливало б, якби хтось знайшов поліноміальний алгоритм для однієї NP-повної задачі?

  1. AПроблема зупинки стала б розв'язною
  2. BУсі алгоритми з експоненційним часом негайно стали б працювати за лінійний час
  3. CКожну задачу з NP можна було б розв'язати за поліноміальний час, тож P = NP
  4. DЛише ця одна задача перейшла б до P

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

  1. 1. B · Ω (велике Омега)
  2. 2. A · O(n²)
  3. 3. D · Її можна розв'язати за поліноміальний час
  4. 4. C · Середню вартість операції на послідовності операцій у найгіршому випадку
  5. 5. C · На кожному кроці робить локально найкращий вибір
  6. 6. B · O(n)
  7. 7. A · Дерево рішень з n можливими результатами має глибину щонайменше log₂ n
  8. 8. C · Кожну задачу з NP можна було б розв'язати за поліноміальний час, тож P = NP

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