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

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

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

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

1.Легка

Чому дорівнює log₂ 1024?

  1. A512
  2. B10
  3. C32
  4. D12
2.Легка

Що означає, що операція виконується за час O(1)?

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

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

  1. A8 секунд
  2. B2 секунди
  3. C1 секунду
  4. D4 секунди
4.Середня

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

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

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

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

Ви один раз сортуєте масив із n елементів, а потім відповідаєте на k запитів про належність бінарним пошуком. Яка загальна вартість?

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

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

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

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

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

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

  1. 1. B · 10
  2. 2. C · Її час виконання не зростає з розміром вхідних даних
  3. 3. D · 4 секунди
  4. 4. D · Експоненційною
  5. 5. D · O(d(n + k))
  6. 6. C · O(n log n + k log n)
  7. 7. C · O(n)
  8. 8. A · Жоден алгоритм не може для кожної програми та вхідних даних визначити, чи зупиниться вона

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