1.Легка
Доступ до елемента масиву за індексом займає:
- AO(n)
- BO(n²)
- CO(1)
- DO(log n)
2.Легка
Який клас складності зростає найшвидше для великих n?
- AO(n²)
- BO(n³)
- CO(2ⁿ)
- DO(n log n)
3.Легка
Цикл починається з i = 1 і подвоює i на кожній ітерації, доки i > n. Скільки ітерацій він виконує?
- AБлизько n²
- BБлизько log₂ n
- CБлизько n
- DБлизько n / 2
4.Середня
Яке твердження про рекурсивну функцію без досяжного базового випадку правильне?
- AВона автоматично повертає 0
- BВона виконується за час O(1)
- CКомпілятор завжди перетворює її на цикл, що безпечно завершується
- DВона викликає себе, доки не переповниться стек викликів
5.Середня
Динамічне програмування корисне, коли задача має:
- AЛише випадкові вхідні дані
- BЖодних підзадач, тож її можна розв'язати за один крок
- CОдин цикл
- DПерекривні підзадачі та оптимальну підструктуру
6.Середня
Розв'язком рекурентного співвідношення T(n) = 2T(n/2) + O(n) є:
- AO(log n)
- BO(n²)
- CO(n)
- DO(n log n)
7.Складна
Чому пошук у геш-таблиці в середньому має складність O(1), а в найгіршому випадку — O(n)?
- AКлючі спершу потрібно відсортувати
- BБагато ключів через колізії можуть потрапити в один і той самий кошик
- CГеш-функції повільні
- DДоступ до масивів має складність O(n)
8.Складна
Як співвідносяться n! і 2ⁿ для великих n?
- An! є O(n²)
- BВони зростають з однаковою швидкістю
- C2ⁿ зростає швидше, ніж n!
- Dn! зростає швидше, ніж 2ⁿ
Ключ відповідей
- 1. C · O(1)
- 2. C · O(2ⁿ)
- 3. B · Близько log₂ n
- 4. D · Вона викликає себе, доки не переповниться стек викликів
- 5. D · Перекривні підзадачі та оптимальну підструктуру
- 6. D · O(n log n)
- 7. B · Багато ключів через колізії можуть потрапити в один і той самий кошик
- 8. D · n! зростає швидше, ніж 2ⁿ
Повні покрокові розв’язки: тренуйте цю тему на examproblems.com.