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