1.Легка
Чому дорівнює log₂ 1024?
- A10
- B512
- C12
- D32
2.Легка
Яку складність зазвичай має алгоритм із двома вкладеними циклами, кожен із яких виконується n разів?
- AO(2n)
- BO(n²)
- CO(n)
- DO(log n)
3.Легка
Доступ до елемента масиву за індексом займає:
- AO(n)
- BO(n²)
- CO(log n)
- DO(1)
4.Середня
Чи правильно казати, що алгоритм O(n²) є також O(n³)?
- AНі, бо «велике O» завжди має вказувати точну швидкість зростання функції
- BТак, бо «велике O» — верхня межа, а n² зростає не швидше, ніж n³
- CТак, але лише якщо n менше за 100
- DНі, бо для великих n n³ менше за n²
5.Середня
Часова складність наївного рекурсивного обчислення чисел Фібоначчі (fib(n) = fib(n−1) + fib(n−2)) є:
- AЕкспоненційною
- BЛінійною
- CСталою
- DЛогарифмічною
6.Середня
Яка амортизована часова складність додавання елемента в кінець динамічного масиву, який подвоює свою місткість у разі заповнення?
- AO(n²)
- BO(n)
- CO(log n)
- DO(1)
7.Складна
Які часові та просторові витрати обчислення n-го числа Фібоначчі циклом, що зберігає лише два останні значення?
- AO(log n) часу та O(n) пам'яті
- BO(2ⁿ) часу та O(1) пам'яті
- CO(n) часу та O(1) пам'яті
- DO(n) часу та O(n) пам'яті
8.Складна
Яке твердження про вибір k-го найменшого елемента невідсортованого масиву правильне?
- AВибір можливий лише за O(n²)
- BВибір завжди потребує Ω(n log n), бо вимагає сортування
- CQuickselect працює за очікуваний час O(n), а метод медіани медіан гарантує O(n) у найгіршому випадку
- DQuickselect працює за O(log n) у найгіршому випадку, бо рекурсивно переходить лише в один бік від опорного елемента
Ключ відповідей
- 1. A · 10
- 2. B · O(n²)
- 3. D · O(1)
- 4. B · Так, бо «велике O» — верхня межа, а n² зростає не швидше, ніж n³
- 5. A · Експоненційною
- 6. D · O(1)
- 7. C · O(n) часу та O(1) пам'яті
- 8. C · Quickselect працює за очікуваний час O(n), а метод медіани медіан гарантує O(n) у найгіршому випадку
Повні покрокові розв’язки: тренуйте цю тему на examproblems.com.