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