1.Лёгкая
В односвязном списке каждый узел содержит:
- AДанные и ссылку на следующий узел
- BТолько данные
- CДанные и ссылки на все остальные узлы
- DДанные и индекс
2.Лёгкая
Высота дерева обычно определяется как:
- AЧисло листьев в дереве
- BЧисло рёбер на самом длинном пути от корня до листа
- CЧисло потомков корня
- DОбщее число узлов в дереве, считая корень и каждый лист
3.Лёгкая
Какая операция выполняется за O(1) для массива, но за O(n) для односвязного списка?
- AДоступ к элементу с индексом i
- BЧтение первого элемента
- CВставка в начало
- DУдаление головного элемента
4.Средняя
АВЛ-деревья (AVL) и красно-чёрные деревья гарантируют:
- AХранение ключей в порядке вставки
- BПоиск за константное время в любом случае
- CВысоту O(log n) благодаря перебалансировке
- DЧто ни у одного узла нет двух потомков
5.Средняя
Зачем нужен сторожевой (фиктивный, sentinel) узел в связном списке?
- AЧтобы хранить число элементов
- BЧтобы список был отсортирован
- CЧтобы упростить код, убрав особые случаи в голове или хвосте
- DЧтобы список не мог вырасти сверх фиксированного максимального числа узлов
6.Средняя
Какое условие балансировки поддерживает АВЛ-дерево в каждом узле?
- AКаждый узел окрашен в красный или чёрный цвет
- BОба поддерева каждого узла содержат ровно одинаковое число узлов
- CВсе листья находятся ровно на одной глубине
- DВысоты левого и правого поддеревьев различаются не более чем на 1
7.Сложная
Каково при простом равномерном хешировании ожидаемое время поиска в хеш-таблице с цепочками, n ключами и m корзинами?
- AO(n)
- BO(1 + α), где α = n / m
- CO(m)
- DO(log n)
8.Сложная
Динамический массив удваивается при заполнении. Почему многие реализации уменьшают его, только когда он заполнен на четверть, а не наполовину?
- AПотому что распределитель памяти может освобождать память только четвертями блока
- BЧтобы массив оставался отсортированным
- CПотому что уменьшение вдвое при половинном заполнении привело бы к потере элементов
- DЧтобы избежать повторных изменений размера, когда push и pop чередуются вблизи границы
Ответы
- 1. A · Данные и ссылку на следующий узел
- 2. B · Число рёбер на самом длинном пути от корня до листа
- 3. A · Доступ к элементу с индексом i
- 4. C · Высоту O(log n) благодаря перебалансировке
- 5. C · Чтобы упростить код, убрав особые случаи в голове или хвосте
- 6. D · Высоты левого и правого поддеревьев различаются не более чем на 1
- 7. B · O(1 + α), где α = n / m
- 8. D · Чтобы избежать повторных изменений размера, когда push и pop чередуются вблизи границы
Полные пошаговые решения: занимайтесь этой темой на examproblems.com.