1.Легка
Цикл починається з i = 1 і подвоює i на кожній ітерації, доки i > n. Скільки ітерацій він виконує?
- AБлизько n / 2
- BБлизько n²
- CБлизько log₂ n
- DБлизько n
2.Легка
Який із цих часів виконання є поліноміальним?
- AO(n³)
- BO(2ⁿ)
- CO(nⁿ)
- DO(n!)
3.Легка
Скільки додаткової пам'яті використовує стандартне сортування злиттям на основі масиву?
- AO(1)
- BO(log n)
- CO(n²)
- DO(n)
4.Середня
Яка амортизована часова складність додавання елемента в кінець динамічного масиву, який подвоює свою місткість у разі заповнення?
- AO(log n)
- BO(n)
- CO(n²)
- DO(1)
5.Середня
Що обчислює алгоритм Флойда–Воршелла і як швидко?
- AНайкоротші шляхи між усіма парами вершин за O(V³)
- BМінімальне кістякове дерево за O(E log V)
- CНайкоротші шляхи від однієї початкової вершини до всіх інших за O(V + E)
- DТопологічний порядок за O(V²)
6.Середня
Який розв'язок рекурентного співвідношення T(n) = 2T(n − 1) + O(1)?
- AO(2ⁿ)
- BO(n²)
- CO(n log n)
- DO(n)
7.Складна
Чи належить 22n до O(2ⁿ)?
- AНі, бо 22n = 4ⁿ, а 4ⁿ / 2ⁿ = 2ⁿ зростає необмежено
- BТак, бо сталі множники в показнику степеня в нотації «велике O» завжди ігноруються
- CТак, бо обидві функції експоненційні
- DНі, бо 22n зростає повільніше, ніж 2ⁿ
8.Складна
Задача про рюкзак 0/1, розв'язана динамічним програмуванням, потребує O(nW) часу. Чому це називають псевдополіноміальним часом?
- AТому що алгоритм рандомізований, а його час роботи змінюється для кожних вхідних даних
- BW — число, тому час експоненційний відносно кількості бітів, використаних для запису W
- CТому що він працює лише для W = 0
- DТому що n завжди мале
Ключ відповідей
- 1. C · Близько log₂ n
- 2. A · O(n³)
- 3. D · O(n)
- 4. D · O(1)
- 5. A · Найкоротші шляхи між усіма парами вершин за O(V³)
- 6. A · O(2ⁿ)
- 7. A · Ні, бо 22n = 4ⁿ, а 4ⁿ / 2ⁿ = 2ⁿ зростає необмежено
- 8. B · W — число, тому час експоненційний відносно кількості бітів, використаних для запису W
Повні покрокові розв’язки: тренуйте цю тему на examproblems.com.