1.Лёгкая
Что содержит указатель next последнего узла односвязного списка?
- AАдрес первого узла
- BNull (узла нет)
- CАдрес предыдущего узла
- DЧисло узлов в списке
2.Лёгкая
Что такое ориентированный граф?
- AГраф без циклов
- BГраф, в котором каждая пара различных вершин соединена ребром
- CГраф, рёбра которого направлены от одной вершины к другой
- DГраф, у всех рёбер которого есть веса
3.Лёгкая
Какая структура данных используется для обхода дерева по уровням (level-order)?
- AОчередь
- BОчередь с приоритетом
- CСтек
- DХеш-таблица
4.Средняя
Почему обход массива на практике часто гораздо быстрее обхода связного списка той же длины?
- AСвязные списки всегда хранят элементы на диске
- BОбход массива занимает в сумме O(1), а связного списка — O(n)
- CМассивы требуют меньше инструкций для сравнения значений
- DЭлементы массива расположены непрерывно, поэтому хорошо используют кэш процессора
5.Средняя
У двоичного дерева корень 1 с левым потомком 2 и правым потомком 3; у узла 2 потомки 4 (левый) и 5 (правый). Каков прямой обход (preorder)?
- A1 2 3 4 5
- B4 5 2 3 1
- C1 2 4 5 3
- D4 2 5 1 3
6.Средняя
Приложению нужен быстрый поиск, а также вывод ключей в отсортированном порядке и запросы по диапазону. Какая структура подходит лучше всего?
- AСбалансированное двоичное дерево поиска
- BХеш-таблица
- CСтек
- DНеотсортированный связный список
7.Сложная
Какие операции поддерживает за O(log n) дерево Фенвика (binary indexed tree) над массивом из n чисел?
- AВставку элементов в любую позицию
- BПоиск медианы за O(1)
- CЗапросы префиксных сумм и обновления отдельного элемента
- DСортировку массива и двоичный поиск
8.Сложная
Зачем серверу выбирать хеш-функцию случайно из универсального семейства?
- AЧтобы не нужно было увеличивать таблицу
- BЧтобы хеш-таблица была отсортирована
- CЧтобы сделать крайне маловероятным, что атакующий подберёт много ключей с одинаковым хешем
- DЧтобы гарантировать, что никакие два ключа никогда не столкнутся, какие бы ключи ни присылал атакующий
Ответы
- 1. B · Null (узла нет)
- 2. C · Граф, рёбра которого направлены от одной вершины к другой
- 3. A · Очередь
- 4. D · Элементы массива расположены непрерывно, поэтому хорошо используют кэш процессора
- 5. C · 1 2 4 5 3
- 6. A · Сбалансированное двоичное дерево поиска
- 7. C · Запросы префиксных сумм и обновления отдельного элемента
- 8. C · Чтобы сделать крайне маловероятным, что атакующий подберёт много ключей с одинаковым хешем
Полные пошаговые решения: занимайтесь этой темой на examproblems.com.