1.Легка
Що таке мемоізація?
- AНаписання коментарів біля кожного рядка коду
- BЗбереження результатів викликів функції, щоб повторні виклики отримували відповідь із пам'яті
- CЗвільнення пам'яті після повернення з функції
- DАвтоматичне перетворення рекурсії на рівносильний цикл, щоб стек викликів не був потрібен
2.Легка
Що таке алгоритм повного перебору?
- AАлгоритм, що завжди використовує рекурсію
- BАлгоритм, що виконується на багатьох процесорах
- CАлгоритм, що перебирає всі можливі кандидати на розв'язок
- DАлгоритм, що вгадує відповідь випадково
3.Легка
Задачу зазвичай називають практично розв'язною (tractable), якщо:
- AВона не має розв'язку
- BЇї можна розв'язати за сталий час
- CЇї можна розв'язати за поліноміальний час
- DЇї можна розв'язати лише перебором усіх можливостей
4.Середня
Швидке сортування завжди бере опорним перший елемент. На яких вхідних даних воно демонструє поведінку найгіршого випадку?
- AНа масиві у випадковому порядку
- BНа вже відсортованому масиві
- CНа масиві довжини 2
- DНа масиві, всі елементи якого різні
5.Середня
Чому багато бібліотечних процедур сортування переходять на сортування вставками для дуже малих підмасивів?
- AСортування вставками використовує менше пам'яті, ніж будь-який інший алгоритм сортування, на великих даних
- BСортування вставками має складність O(n log n) у найгіршому випадку
- CРекурсивні алгоритми не можуть обробляти масиви менші за 10 елементів
- DСортування вставками має малі накладні витрати й швидке на малих або майже відсортованих даних
6.Середня
Яке твердження про рекурсивну функцію без досяжного базового випадку правильне?
- AВона виконується за час O(1)
- BВона автоматично повертає 0
- CВона викликає себе, доки не переповниться стек викликів
- DКомпілятор завжди перетворює її на цикл, що безпечно завершується
7.Складна
Як класифікують задачу комівояжера?
- AВерсія розпізнавання є NP-повною, а оптимізаційна версія — NP-складною
- BВона належить до P, бо її розв'язує алгоритм Дейкстри, відвідуючи кожне місто один раз
- CВерсія розпізнавання належить до P, а оптимізаційна — NP-повна
- DВона нерозв'язна
8.Складна
Чому бінарний пошук не дає часу O(log n) на однозв'язному списку?
- AЩоб дістатися середнього елемента, потрібно O(n) кроків, бо немає прямого доступу за індексом
- BПорівняння вузлів зв'язного списку повільніші
- CЗв'язні списки неможливо сортувати
- DБінарному пошуку потрібно щонайменше вдвічі більше пам'яті
Ключ відповідей
- 1. B · Збереження результатів викликів функції, щоб повторні виклики отримували відповідь із пам'яті
- 2. C · Алгоритм, що перебирає всі можливі кандидати на розв'язок
- 3. C · Її можна розв'язати за поліноміальний час
- 4. B · На вже відсортованому масиві
- 5. D · Сортування вставками має малі накладні витрати й швидке на малих або майже відсортованих даних
- 6. C · Вона викликає себе, доки не переповниться стек викликів
- 7. A · Версія розпізнавання є NP-повною, а оптимізаційна версія — NP-складною
- 8. A · Щоб дістатися середнього елемента, потрібно O(n) кроків, бо немає прямого доступу за індексом
Повні покрокові розв’язки: тренуйте цю тему на examproblems.com.