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