Робочий аркуш «Структури даних» з відповідями

Безкоштовний робочий аркуш для друку «Структури даних»: 8 задач від легких до рівня іспиту, з ключем відповідей. Роздрукуйте його або збережіть як PDF.

Для викладачів: можна безкоштовно друкувати, копіювати й використовувати на заняттях. Кожен новий аркуш має нові значення і власні відповіді. Будемо вдячні за посилання на ExamProblems на сторінці вашого курсу.

Ім’я: ____________________   Дата: ____________

1.Легка

Що таке степінь вершини в неорієнтованому графі?

  1. AЇї позиція в списку суміжності
  2. BДовжина найдовшого шляху з неї
  3. CКількість вершин у графі
  4. DКількість ребер, з'єднаних із нею
2.Легка

В однозв'язному списку кожен вузол містить:

  1. AДані та посилання на всі інші вузли
  2. BДані та посилання на наступний вузол
  3. CДані та індекс
  4. DЛише дані
3.Легка

Яка структура даних найкраще підходить для функції «скасувати» (undo) у текстовому редакторі?

  1. AЧерга
  2. BГеш-множина
  3. CГраф
  4. DСтек
4.Середня

Чому обхід масиву на практиці часто значно швидший, ніж обхід зв'язного списку такої самої довжини?

  1. AЗв'язні списки завжди зберігають елементи на диску
  2. BОбхід масиву загалом має складність O(1), а обхід зв'язного списку — O(n)
  3. CМасиви використовують менше інструкцій для порівняння значень
  4. DЕлементи масиву розташовані суцільно, тож добре використовують кеш процесора
5.Середня

Яку структуру даних використовують, щоб перевірити, чи збалансовані дужки в «{[()]}»?

  1. AЧергу
  2. BБінарне дерево пошуку
  3. CГеш-таблицю
  4. DСтек
6.Середня

Як працює extract-min у бінарній мін-купі?

  1. AВидаляють останній елемент масиву
  2. BШукають новий мінімум серед усіх листків
  3. CВидаляють корінь і зсувають усі елементи на одну позицію ліворуч
  4. DОстанній елемент переміщують у корінь і просіюють униз
7.Складна

Яка основна перевага списку з пропусками (skip list) над відсортованим зв'язним списком?

  1. AГарантований пошук за O(1), бо кожен вузол зберігає вказівник на кожен інший вузол
  2. BОчікуваний пошук за O(log n) завдяки кільком рівням вказівників уперед
  3. CВін зберігає ключі без упорядкування
  4. DВін не використовує додаткової пам'яті
8.Складна

Яке твердження про пірамідальне сортування (heapsort) правильне?

  1. AВоно стабільне й потребує O(n) додаткової пам'яті
  2. BВоно потребує бінарного дерева пошуку як додаткового сховища, тож використовує O(n) додаткової пам'яті
  3. CВоно сортує на місці за час O(n log n) у найгіршому випадку, але не є стабільним
  4. DВоно працює за час O(n) на будь-яких вхідних даних

Ключ відповідей

  1. 1. D · Кількість ребер, з'єднаних із нею
  2. 2. B · Дані та посилання на наступний вузол
  3. 3. D · Стек
  4. 4. D · Елементи масиву розташовані суцільно, тож добре використовують кеш процесора
  5. 5. D · Стек
  6. 6. D · Останній елемент переміщують у корінь і просіюють униз
  7. 7. B · Очікуваний пошук за O(log n) завдяки кільком рівням вказівників уперед
  8. 8. C · Воно сортує на місці за час O(n log n) у найгіршому випадку, але не є стабільним

Повні покрокові розв’язки: тренуйте цю тему на examproblems.com.