1.Легка
Що таке мемоізація?
- AНаписання коментарів біля кожного рядка коду
- BЗбереження результатів викликів функції, щоб повторні виклики отримували відповідь із пам'яті
- CАвтоматичне перетворення рекурсії на рівносильний цикл, щоб стек викликів не був потрібен
- DЗвільнення пам'яті після повернення з функції
2.Легка
Що таке базовий випадок рекурсивної функції?
- AВиклик, що використовує найбільше пам'яті
- BВипадок із найбільшими вхідними даними, який обробляється до будь-яких рекурсивних викликів
- CПерший рядок функції
- DВипадок, на який відповідають безпосередньо, без нового рекурсивного виклику
3.Легка
Що описує час виконання в середньому випадку?
- AСереднє значення між часами виконання в найкращому й найгіршому випадках
- BЧас на найпоширенішому комп'ютері
- CОчікуваний час за заданого розподілу вхідних даних розміру n
- DЧас для вхідних даних середньої довжини
4.Середня
Як алгоритм Прима будує мінімальне кістякове дерево?
- AВін видаляє найдорожче ребро, доки не залишиться циклів
- BВін сортує всі ребра за вагою й додає кожне, окрім тих, що утворили б цикл у лісі
- CВін вирощує одне дерево від початкової вершини, додаючи найдешевше ребро, що виходить із дерева
- DВін запускає пошук у ширину й зберігає дерево BFS
5.Середня
Яка часова складність обчислення n-го числа Фібоначчі за допомогою таблиці знизу вгору?
- AO(log n)
- BO(n)
- CO(2ⁿ)
- DO(n²)
6.Середня
Який час виконання порозрядного сортування LSD для n цілих чисел із d цифрами в системі числення з основою k?
- AO(n log n)
- BO(dn log k)
- CO(d(n + k))
- DO(n²)
7.Складна
Задача про рюкзак 0/1, розв'язана динамічним програмуванням, потребує O(nW) часу. Чому це називають псевдополіноміальним часом?
- AW — число, тому час експоненційний відносно кількості бітів, використаних для запису W
- BТому що алгоритм рандомізований, а його час роботи змінюється для кожних вхідних даних
- CТому що n завжди мале
- DТому що він працює лише для W = 0
8.Складна
Яке визначення класу NP правильне?
- AЗадачі розпізнавання, відповіді «так» для яких можна перевірити за поліноміальний час за наявності сертифіката
- BЗадачі, які неможливо розв'язати за поліноміальний час
- CЗадачі, які не може розв'язати жоден алгоритм
- DЗадачі, що не є поліноміальними
Ключ відповідей
- 1. B · Збереження результатів викликів функції, щоб повторні виклики отримували відповідь із пам'яті
- 2. D · Випадок, на який відповідають безпосередньо, без нового рекурсивного виклику
- 3. C · Очікуваний час за заданого розподілу вхідних даних розміру n
- 4. C · Він вирощує одне дерево від початкової вершини, додаючи найдешевше ребро, що виходить із дерева
- 5. B · O(n)
- 6. C · O(d(n + k))
- 7. A · W — число, тому час експоненційний відносно кількості бітів, використаних для запису W
- 8. A · Задачі розпізнавання, відповіді «так» для яких можна перевірити за поліноміальний час за наявності сертифіката
Повні покрокові розв’язки: тренуйте цю тему на examproblems.com.