1.Легка
Алгоритм O(n) працює 3 секунди для n = 1 мільйон. Приблизно скільки він працюватиме для n = 2 мільйони?
- A3 секунди
- B9 секунд
- C6 секунд
- D12 секунд
2.Легка
Що таке базовий випадок рекурсивної функції?
- AПерший рядок функції
- BВипадок, на який відповідають безпосередньо, без нового рекурсивного виклику
- CВиклик, що використовує найбільше пам'яті
- DВипадок із найбільшими вхідними даними, який обробляється до будь-яких рекурсивних викликів
3.Легка
Яка часова складність пошуку в глибину на графі, збереженому у вигляді списків суміжності?
- AO(E log V)
- BO(V²)
- CO(V + E)
- DO(V × E)
4.Середня
Маючи монети номіналом 1, 3 і 4 та суму 6, скільки монет використовує жадібний метод «спершу найбільша монета» порівняно з оптимумом?
- AЖадібний використовує 3 монети; оптимум — 2
- BЖадібний використовує 4 монети; оптимум — 3
- CЖадібний використовує 3 монети; оптимум — 3
- DЖадібний використовує 2 монети; оптимум — 2
5.Середня
Ви один раз сортуєте масив із n елементів, а потім відповідаєте на k запитів про належність бінарним пошуком. Яка загальна вартість?
- AO(nk)
- BO(k n log n)
- CO(n + k)
- DO(n log n + k log n)
6.Середня
Яке жадібне правило в задачі про вибір заявок (activity selection) завжди дає максимальну кількість заявок, що не перекриваються?
- AОбрати заявку, що закінчується найраніше, а потім повторити із сумісними
- BОбрати заявку, що починається найраніше
- CСпершу обрати заявку з найменшою кількістю перекриттів, а потім повторити із сумісними
- DСпершу обрати найкоротшу заявку
7.Складна
Яка часова складність: for i = 1 to n: for (j = i; j ≤ n; j = j + i) виконати роботу O(1)?
- AO(n)
- BO(n²)
- CO(n √n)
- DO(n log n)
8.Складна
Чому бінарний пошук не дає часу O(log n) на однозв'язному списку?
- AЗв'язні списки неможливо сортувати
- BБінарному пошуку потрібно щонайменше вдвічі більше пам'яті
- CПорівняння вузлів зв'язного списку повільніші
- DЩоб дістатися середнього елемента, потрібно O(n) кроків, бо немає прямого доступу за індексом
Ключ відповідей
- 1. C · 6 секунд
- 2. B · Випадок, на який відповідають безпосередньо, без нового рекурсивного виклику
- 3. C · O(V + E)
- 4. A · Жадібний використовує 3 монети; оптимум — 2
- 5. D · O(n log n + k log n)
- 6. A · Обрати заявку, що закінчується найраніше, а потім повторити із сумісними
- 7. D · O(n log n)
- 8. D · Щоб дістатися середнього елемента, потрібно O(n) кроків, бо немає прямого доступу за індексом
Повні покрокові розв’язки: тренуйте цю тему на examproblems.com.