1.Лёгкая
В чём главное отличие статического массива от динамического?
- AСтатический массив даёт более медленный доступ по индексу
- BДинамический массив может расти, переходя в больший блок памяти
- CСтатический массив может хранить только числа
- DДинамический массив хранит свои элементы в связанных узлах, поэтому может расти по одному элементу
2.Лёгкая
Что такое коллизия в хеш-таблице?
- AВ таблице заканчивается память
- BДва одинаковых ключа хранятся дважды
- CКлюч вообще невозможно хешировать
- DДва разных ключа отображаются в один и тот же индекс
3.Лёгкая
Что хранится для каждой вершины в представлении графа списками смежности?
- AСписок соседних вершин
- BСтрока из V булевых значений
- CКратчайший путь до каждой другой вершины
- DОбщее число рёбер графа
4.Средняя
Зачем нужен сторожевой (фиктивный, sentinel) узел в связном списке?
- AЧтобы список не мог вырасти сверх фиксированного максимального числа узлов
- BЧтобы упростить код, убрав особые случаи в голове или хвосте
- CЧтобы хранить число элементов
- DЧтобы список был отсортирован
5.Средняя
У двоичного дерева корень 1 с левым потомком 2 и правым потомком 3; у узла 2 потомки 4 (левый) и 5 (правый). Каков прямой обход (preorder)?
- A1 2 3 4 5
- B4 2 5 1 3
- C1 2 4 5 3
- D4 5 2 3 1
6.Средняя
У узла двоичного дерева поиска есть правое поддерево. Где находится его in-order преемник?
- AСамый левый узел его правого поддерева
- BСамый правый узел его левого поддерева
- CВсегда его правый потомок
- DВсегда его родитель
7.Сложная
В кольцевом буфере front == rear может означать и «пуст», и «полон». Какой распространённый способ их различить?
- AДелать размер буфера степенью двойки
- BВсегда очищать буфер, когда front равен rear, так что состояние — пустой
- CХранить отдельный счётчик элементов или всегда оставлять одну ячейку свободной
- DХранить front и rear в одной переменной
8.Сложная
Удаление узла с двумя потомками из двоичного дерева поиска обычно выполняют так:
- AПерестраивают поддерево под ним с нуля и заново вставляют каждый содержавшийся в нём ключ
- BЗаменяют его in-order преемником (или предшественником) и удаляют тот узел
- CМеняют его местами с корнем
- DУдаляют всё поддерево
Ответы
- 1. B · Динамический массив может расти, переходя в больший блок памяти
- 2. D · Два разных ключа отображаются в один и тот же индекс
- 3. A · Список соседних вершин
- 4. B · Чтобы упростить код, убрав особые случаи в голове или хвосте
- 5. C · 1 2 4 5 3
- 6. A · Самый левый узел его правого поддерева
- 7. C · Хранить отдельный счётчик элементов или всегда оставлять одну ячейку свободной
- 8. B · Заменяют его in-order преемником (или предшественником) и удаляют тот узел
Полные пошаговые решения: занимайтесь этой темой на examproblems.com.