1.Легка
Який клас складності зростає найшвидше для великих n?
- AO(n log n)
- BO(n²)
- CO(n³)
- DO(2ⁿ)
2.Легка
Яка часова складність лінійного пошуку в невідсортованому масиві з n елементів (у найгіршому випадку)?
- AO(n²)
- BO(1)
- CO(n)
- DO(log n)
3.Легка
Яку стратегію проєктування використовує сортування злиттям?
- AДинамічне програмування
- BПовний перебір
- CЖадібний вибір
- D«Розділяй і володарюй»
4.Середня
Яке жадібне правило в задачі про вибір заявок (activity selection) завжди дає максимальну кількість заявок, що не перекриваються?
- AСпершу обрати найкоротшу заявку
- BОбрати заявку, що починається найраніше
- CОбрати заявку, що закінчується найраніше, а потім повторити із сумісними
- DСпершу обрати заявку з найменшою кількістю перекриттів, а потім повторити із сумісними
5.Середня
Часова складність наївного рекурсивного обчислення чисел Фібоначчі (fib(n) = fib(n−1) + fib(n−2)) є:
- AЕкспоненційною
- BЛогарифмічною
- CСталою
- DЛінійною
6.Середня
Скільки пам'яті стека використовує проста рекурсивна функція факторіала fact(n) = n × fact(n − 1)?
- AO(n²)
- BO(n)
- CO(log n)
- DO(1)
7.Складна
Чому бінарний пошук не дає часу O(log n) на однозв'язному списку?
- AПорівняння вузлів зв'язного списку повільніші
- BЗв'язні списки неможливо сортувати
- CБінарному пошуку потрібно щонайменше вдвічі більше пам'яті
- DЩоб дістатися середнього елемента, потрібно O(n) кроків, бо немає прямого доступу за індексом
8.Складна
Алгоритм динамічного програмування Гелда–Карпа точно розв'язує задачу комівояжера. Який його час виконання для n міст?
- AO(n³)
- BO(n!)
- CO(2n²)
- DO(n² 2ⁿ)
Ключ відповідей
- 1. D · O(2ⁿ)
- 2. C · O(n)
- 3. D · «Розділяй і володарюй»
- 4. C · Обрати заявку, що закінчується найраніше, а потім повторити із сумісними
- 5. A · Експоненційною
- 6. B · O(n)
- 7. D · Щоб дістатися середнього елемента, потрібно O(n) кроків, бо немає прямого доступу за індексом
- 8. D · O(n² 2ⁿ)
Повні покрокові розв’язки: тренуйте цю тему на examproblems.com.