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

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

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

Имя: ____________________   Дата: ____________

1.Лёгкая

Что определяет двоичное дерево?

  1. AВ дереве ровно два уровня
  2. BКаждый узел хранит двоичное число
  3. CУ каждого узла ровно два потомка
  4. DУ каждого узла не более двух потомков
2.Лёгкая

В каком порядке прямой обход (preorder) двоичного дерева посещает узлы?

  1. AЛевое поддерево, затем правое поддерево, затем узел
  2. BУзел, затем левое поддерево, затем правое поддерево
  3. CЛевое поддерево, затем узел, затем правое поддерево
  4. DПо уровням сверху вниз
3.Лёгкая

Что такое коэффициент заполнения (load factor) хеш-таблицы?

  1. AЧисло коллизий на данный момент
  2. BВремя загрузки таблицы с диска
  3. CЧисло хранимых элементов, делённое на число корзин
  4. DЧисло корзин, делённое на среднюю длину хранимых ключей
4.Средняя

Какую структуру данных использует поиск в глубину (DFS, итеративная версия)?

  1. AСтек
  2. BКучу
  3. CОчередь
  4. DТолько хеш-таблицу
5.Средняя

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

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

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

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

Каково при простом равномерном хешировании ожидаемое время поиска в хеш-таблице с цепочками, n ключами и m корзинами?

  1. AO(m)
  2. BO(log n)
  3. CO(n)
  4. DO(1 + α), где α = n / m
8.Сложная

В кольцевом буфере front == rear может означать и «пуст», и «полон». Какой распространённый способ их различить?

  1. AХранить front и rear в одной переменной
  2. BХранить отдельный счётчик элементов или всегда оставлять одну ячейку свободной
  3. CВсегда очищать буфер, когда front равен rear, так что состояние — пустой
  4. DДелать размер буфера степенью двойки

Ответы

  1. 1. D · У каждого узла не более двух потомков
  2. 2. B · Узел, затем левое поддерево, затем правое поддерево
  3. 3. C · Число хранимых элементов, делённое на число корзин
  4. 4. A · Стек
  5. 5. D · Сбалансированное двоичное дерево поиска
  6. 6. D · Элементы массива расположены непрерывно, поэтому хорошо используют кэш процессора
  7. 7. D · O(1 + α), где α = n / m
  8. 8. B · Хранить отдельный счётчик элементов или всегда оставлять одну ячейку свободной

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