1.Легка
Алгоритм O(n²) працює 1 секунду для n = 1000. Приблизно скільки він працюватиме для n = 2000?
- A1 секунду
- B4 секунди
- C2 секунди
- D8 секунд
2.Легка
Яка нотація описує верхню межу зростання?
- AМале омега
- BВелике Омега
- CВелике O
- DВелике Тета
3.Легка
Що таке мемоізація?
- AАвтоматичне перетворення рекурсії на рівносильний цикл, щоб стек викликів не був потрібен
- BЗбереження результатів викликів функції, щоб повторні виклики отримували відповідь із пам'яті
- CНаписання коментарів біля кожного рядка коду
- DЗвільнення пам'яті після повернення з функції
4.Середня
Який алгоритм знаходить найкоротші шляхи з одного джерела в графі з невід'ємними вагами ребер?
- AАлгоритм Дейкстри
- BПошук у глибину (DFS)
- CУ всіх випадках потрібен алгоритм Беллмана–Форда
- DАлгоритм Краскала
5.Середня
Скільки пам'яті стека використовує проста рекурсивна функція факторіала fact(n) = n × fact(n − 1)?
- AO(n²)
- BO(log n)
- CO(n)
- DO(1)
6.Середня
Розв'язком рекурентного співвідношення T(n) = 2T(n/2) + O(n) є:
- AO(n)
- BO(n²)
- CO(log n)
- DO(n log n)
7.Складна
Алгоритм динамічного програмування Гелда–Карпа точно розв'язує задачу комівояжера. Який його час виконання для n міст?
- AO(n!)
- BO(2n²)
- CO(n³)
- DO(n² 2ⁿ)
8.Складна
Що треба зробити, щоб показати, що нова задача X є NP-складною?
- AПоказати, що X можна перевірити за поліноміальний час
- BЗвести відому NP-складну задачу до X за поліноміальний час
- CПоказати, що X не має поліноміального алгоритму для малих вхідних даних
- DЗвести X до відомої NP-складної задачі за поліноміальний час
Ключ відповідей
- 1. B · 4 секунди
- 2. C · Велике O
- 3. B · Збереження результатів викликів функції, щоб повторні виклики отримували відповідь із пам'яті
- 4. A · Алгоритм Дейкстри
- 5. C · O(n)
- 6. D · O(n log n)
- 7. D · O(n² 2ⁿ)
- 8. B · Звести відому NP-складну задачу до X за поліноміальний час
Повні покрокові розв’язки: тренуйте цю тему на examproblems.com.