1.Легка
Алгоритм O(n) працює 3 секунди для n = 1 мільйон. Приблизно скільки він працюватиме для n = 2 мільйони?
- A3 секунди
- B9 секунд
- C6 секунд
- D12 секунд
2.Легка
Що таке мемоізація?
- AАвтоматичне перетворення рекурсії на рівносильний цикл, щоб стек викликів не був потрібен
- BНаписання коментарів біля кожного рядка коду
- CЗвільнення пам'яті після повернення з функції
- DЗбереження результатів викликів функції, щоб повторні виклики отримували відповідь із пам'яті
3.Легка
Що таке алгоритм?
- AБудь-яка комп'ютерна програма з графічним інтерфейсом
- BСтруктура даних, що зберігає числа
- CСкінченна послідовність чітко визначених кроків, що розв'язує задачу
- DМова програмування, призначена для запису математичних формул
4.Середня
Яка часова складність стандартного алгоритму динамічного програмування для найдовшої спільної підпослідовності рядків довжиною m і n?
- AO(mn log n)
- BO(2m+n)
- CO(mn)
- DO(m + n)
5.Середня
Який розв'язок рекурентного співвідношення T(n) = T(n − 1) + O(1)?
- AO(n²)
- BO(n)
- CO(log n)
- DO(2ⁿ)
6.Середня
Що означає, що задача має оптимальну підструктуру?
- AУсі підзадачі мають однаковий розмір
- BЗадача має рівно один оптимальний розв'язок, спільний для кожної підзадачі
- CОптимальний розв'язок можна побудувати з оптимальних розв'язків її підзадач
- DЗадачу можна розв'язати за сталий час
7.Складна
Чому алгоритм Дейкстри може давати неправильні результати, коли деякі ваги ребер від'ємні?
- AВін зациклюється на кожному від'ємному ребрі
- BВід'ємні числа неможливо зберігати в черзі з пріоритетами
- CВершину остаточно фіксують під час вилучення, але пізніше від'ємне ребро ще може дати їй коротший шлях
- DВін працює лише на неорієнтованих графах
8.Складна
Яка амортизована вартість інкременту двійкового лічильника, якщо один інкремент може змінити багато бітів?
- AO(n) на інкремент
- BO(1) на інкремент
- CO(n log n) на інкремент
- DO(log n) на інкремент
Ключ відповідей
- 1. C · 6 секунд
- 2. D · Збереження результатів викликів функції, щоб повторні виклики отримували відповідь із пам'яті
- 3. C · Скінченна послідовність чітко визначених кроків, що розв'язує задачу
- 4. C · O(mn)
- 5. B · O(n)
- 6. C · Оптимальний розв'язок можна побудувати з оптимальних розв'язків її підзадач
- 7. C · Вершину остаточно фіксують під час вилучення, але пізніше від'ємне ребро ще може дати їй коротший шлях
- 8. B · O(1) на інкремент
Повні покрокові розв’язки: тренуйте цю тему на examproblems.com.