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

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

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

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

1.Легка

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

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

Просторова складність вимірює:

  1. AМісце на диску, яке займає файл програми після компіляції
  2. BКількість рядків коду
  3. CОбсяг пам'яті, потрібний алгоритму зі зростанням вхідних даних
  4. DФізичний розмір комп'ютера
3.Легка

Цикл починається з i = 1 і подвоює i на кожній ітерації, доки i > n. Скільки ітерацій він виконує?

  1. AБлизько n / 2
  2. BБлизько n²
  3. CБлизько n
  4. DБлизько log₂ n
4.Середня

Маючи монети номіналом 1, 3 і 4 та суму 6, скільки монет використовує жадібний метод «спершу найбільша монета» порівняно з оптимумом?

  1. AЖадібний використовує 3 монети; оптимум — 2
  2. BЖадібний використовує 4 монети; оптимум — 3
  3. CЖадібний використовує 2 монети; оптимум — 2
  4. DЖадібний використовує 3 монети; оптимум — 3
5.Середня

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

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

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

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

Задача про рюкзак 0/1, розв'язана динамічним програмуванням, потребує O(nW) часу. Чому це називають псевдополіноміальним часом?

  1. AТому що він працює лише для W = 0
  2. BТому що алгоритм рандомізований, а його час роботи змінюється для кожних вхідних даних
  3. CW — число, тому час експоненційний відносно кількості бітів, використаних для запису W
  4. DТому що n завжди мале
8.Складна

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

  1. AАлгоритм Дейкстри
  2. BАлгоритм Флойда–Воршелла
  3. CАлгоритм Краскала
  4. DАлгоритм Прима, що починає з однієї вершини

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

  1. 1. A · O(n + k)
  2. 2. C · Обсяг пам'яті, потрібний алгоритму зі зростанням вхідних даних
  3. 3. D · Близько log₂ n
  4. 4. A · Жадібний використовує 3 монети; оптимум — 2
  5. 5. A · O(n²)
  6. 6. C · O(log n)
  7. 7. C · W — число, тому час експоненційний відносно кількості бітів, використаних для запису W
  8. 8. C · Алгоритм Краскала

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