Структуры данных: лист заданий с ответами

Бесплатный лист заданий для печати по теме «Структуры данных»: 8 задач от простых до экзаменационного уровня, с ответами. Распечатайте его или сохраните как PDF.

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

Имя: ____________________   Дата: ____________

1.Лёгкая

Что содержит указатель next последнего узла односвязного списка?

  1. AАдрес первого узла
  2. BNull (узла нет)
  3. CАдрес предыдущего узла
  4. DЧисло узлов в списке
2.Лёгкая

Что такое ориентированный граф?

  1. AГраф без циклов
  2. BГраф, в котором каждая пара различных вершин соединена ребром
  3. CГраф, рёбра которого направлены от одной вершины к другой
  4. DГраф, у всех рёбер которого есть веса
3.Лёгкая

Какая структура данных используется для обхода дерева по уровням (level-order)?

  1. AОчередь
  2. BОчередь с приоритетом
  3. CСтек
  4. DХеш-таблица
4.Средняя

Почему обход массива на практике часто гораздо быстрее обхода связного списка той же длины?

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

У двоичного дерева корень 1 с левым потомком 2 и правым потомком 3; у узла 2 потомки 4 (левый) и 5 (правый). Каков прямой обход (preorder)?

  1. A1 2 3 4 5
  2. B4 5 2 3 1
  3. C1 2 4 5 3
  4. D4 2 5 1 3
6.Средняя

Приложению нужен быстрый поиск, а также вывод ключей в отсортированном порядке и запросы по диапазону. Какая структура подходит лучше всего?

  1. AСбалансированное двоичное дерево поиска
  2. BХеш-таблица
  3. CСтек
  4. DНеотсортированный связный список
7.Сложная

Какие операции поддерживает за O(log n) дерево Фенвика (binary indexed tree) над массивом из n чисел?

  1. AВставку элементов в любую позицию
  2. BПоиск медианы за O(1)
  3. CЗапросы префиксных сумм и обновления отдельного элемента
  4. DСортировку массива и двоичный поиск
8.Сложная

Зачем серверу выбирать хеш-функцию случайно из универсального семейства?

  1. AЧтобы не нужно было увеличивать таблицу
  2. BЧтобы хеш-таблица была отсортирована
  3. CЧтобы сделать крайне маловероятным, что атакующий подберёт много ключей с одинаковым хешем
  4. DЧтобы гарантировать, что никакие два ключа никогда не столкнутся, какие бы ключи ни присылал атакующий

Ответы

  1. 1. B · Null (узла нет)
  2. 2. C · Граф, рёбра которого направлены от одной вершины к другой
  3. 3. A · Очередь
  4. 4. D · Элементы массива расположены непрерывно, поэтому хорошо используют кэш процессора
  5. 5. C · 1 2 4 5 3
  6. 6. A · Сбалансированное двоичное дерево поиска
  7. 7. C · Запросы префиксных сумм и обновления отдельного элемента
  8. 8. C · Чтобы сделать крайне маловероятным, что атакующий подберёт много ключей с одинаковым хешем

Полные пошаговые решения: занимайтесь этой темой на examproblems.com.