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