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