Структуры данных: лист заданий с ответами
Бесплатный лист заданий для печати по теме «Структуры данных»: 8 задач от простых до экзаменационного уровня, с ответами. Распечатайте его или сохраните как PDF.
Для преподавателей: можно бесплатно печатать, копировать и использовать на занятиях. Каждый новый лист содержит новые значения и собственные ответы. Будем благодарны за ссылку на ExamProblems на странице вашего курса.
Имя: ____________________ Дата: ____________
1.Лёгкая
В каком порядке прямой обход (preorder) двоичного дерева посещает узлы?
- AПо уровням сверху вниз
- BУзел, затем левое поддерево, затем правое поддерево
- CЛевое поддерево, затем узел, затем правое поддерево
- DЛевое поддерево, затем правое поддерево, затем узел
2.Лёгкая
Что определяет двоичное дерево?
- AУ каждого узла не более двух потомков
- BВ дереве ровно два уровня
- CУ каждого узла ровно два потомка
- DКаждый узел хранит двоичное число
3.Лёгкая
Хеш-таблица (hash table) хранит данные в виде:
- AПар ключ–значение, расположение которых определяет хеш-функция
- BТолько отсортированного списка
- CСтроки фиксированной длины
- DДерева с упорядоченными ключами
4.Средняя
Как работает extract-min в двоичной min-куче?
- AУдаляют последний элемент массива
- BПоследний элемент перемещают в корень и опускают вниз (sift down)
- CУдаляют корень и сдвигают все элементы на одну позицию влево
- DИщут новый минимум среди всех листьев
5.Средняя
Ключи 50, 30, 70, 20, 40 вставляются в таком порядке в пустое двоичное дерево поиска. Кто левый потомок 30?
- A70
- B50
- C20
- D40
6.Средняя
Сколько времени занимает поиск слова длины L в префиксном дереве (trie) с фиксированным алфавитом?
- AO(n), где n — число слов
- BO(L), независимо от числа хранимых слов
- CO(L × n)
- DO(log n), где n — число слов
7.Сложная
В кольцевом буфере front == rear может означать и «пуст», и «полон». Какой распространённый способ их различить?
- AХранить front и rear в одной переменной
- BДелать размер буфера степенью двойки
- CВсегда очищать буфер, когда front равен rear, так что состояние — пустой
- DХранить отдельный счётчик элементов или всегда оставлять одну ячейку свободной
8.Сложная
Какую проблему линейного пробирования в основном уменьшает двойное хеширование?
- AНеобходимость хранить ключи в таблице
- BСтоимость O(n) чтения значения по ключу
- CПервичную кластеризацию, при которой образуются длинные серии занятых ячеек
- DНеобходимость в хеш-функции