1.Легка
В однозв'язному списку кожен вузол містить:
- AДані та посилання на наступний вузол
- BДані та посилання на всі інші вузли
- CЛише дані
- DДані та індекс
2.Легка
Яка структура даних найкраще підходить для функції «скасувати» (undo) у текстовому редакторі?
- AСтек
- BЧерга
- CГраф
- DГеш-множина
3.Легка
Що зберігається для кожної вершини в поданні графа списками суміжності?
- AЗагальна кількість ребер у графі
- BНайкоротший шлях до кожної іншої вершини
- CСписок сусідніх вершин
- DРядок із V булевих значень
4.Середня
Чому обхід масиву на практиці часто значно швидший, ніж обхід зв'язного списку такої самої довжини?
- AЕлементи масиву розташовані суцільно, тож добре використовують кеш процесора
- BМасиви використовують менше інструкцій для порівняння значень
- CЗв'язні списки завжди зберігають елементи на диску
- DОбхід масиву загалом має складність O(1), а обхід зв'язного списку — O(n)
5.Середня
Яка висота бінарного дерева пошуку з n вузлами в найгіршому випадку, якщо ключі вставляються у відсортованому порядку?
- Alog₂ n
- B1
- Cn (дерево перетворюється на зв'язний список)
- D√n
6.Середня
Яке призначення сторожового (фіктивного, sentinel) вузла у зв'язному списку?
- AЗробити список відсортованим
- BСпростити код, усунувши особливі випадки на голові чи хвості
- CЗберігати кількість елементів
- DНе дати списку зростати понад фіксовану максимальну кількість вузлів
7.Складна
Дерево відрізків (segment tree) зазвичай використовують для:
- AСортування рядків за абеткою шляхом зберігання кожного префікса в окремому вузлі дерева
- BРеалізації стека
- CЗберігання ребер графа
- DВідповідей на запити на діапазонах (наприклад, суми діапазонів) та оновлень за O(log n)
8.Складна
Об'єкт зберігається як ключ у геш-відображенні (hash map), а потім змінюється поле, яке використовує його геш-функція. Який імовірний результат?
- AВідображення видає помилку в момент зміни поля
- BПошук об'єкта може не вдатися, бо він лежить у кошику для свого старого гешу
- CВідображення автоматично переміщує ключ у новий кошик
- DНічого не змінюється, бо геш ключа обчислюється лише раз, коли програма запускається
Ключ відповідей
- 1. A · Дані та посилання на наступний вузол
- 2. A · Стек
- 3. C · Список сусідніх вершин
- 4. A · Елементи масиву розташовані суцільно, тож добре використовують кеш процесора
- 5. C · n (дерево перетворюється на зв'язний список)
- 6. B · Спростити код, усунувши особливі випадки на голові чи хвості
- 7. D · Відповідей на запити на діапазонах (наприклад, суми діапазонів) та оновлень за O(log n)
- 8. B · Пошук об'єкта може не вдатися, бо він лежить у кошику для свого старого гешу
Повні покрокові розв’язки: тренуйте цю тему на examproblems.com.