1.Лёгкая
Что содержит каждый узел двусвязного списка?
- AДанные и только указатель на следующий узел
- BДве копии данных и один указатель
- CДанные и два указателя: один на следующий узел и один на узел после него
- DДанные, указатель на следующий узел и указатель на предыдущий узел
2.Лёгкая
Какая структура данных работает по принципу «последним пришёл — первым ушёл» (LIFO)?
- AХеш-таблица
- BСтек
- CСвязный список
- DОчередь
3.Лёгкая
В каком порядке прямой обход (preorder) двоичного дерева посещает узлы?
- AПо уровням сверху вниз
- BЛевое поддерево, затем правое поддерево, затем узел
- CУзел, затем левое поддерево, затем правое поддерево
- DЛевое поддерево, затем узел, затем правое поддерево
4.Средняя
Почему обход массива на практике часто гораздо быстрее обхода связного списка той же длины?
- AСвязные списки всегда хранят элементы на диске
- BЭлементы массива расположены непрерывно, поэтому хорошо используют кэш процессора
- CМассивы требуют меньше инструкций для сравнения значений
- DОбход массива занимает в сумме O(1), а связного списка — O(n)
5.Средняя
Ключи 50, 30, 70, 20, 40 вставляются в таком порядке в пустое двоичное дерево поиска. Кто левый потомок 30?
- A50
- B40
- C70
- D20
6.Средняя
Какой абстрактный тип данных использует алгоритм Дейкстры для выбора следующей обрабатываемой вершины?
- AСтек
- BОчередь FIFO
- CОчередь с приоритетом по минимуму
- DМножество без упорядочения
7.Сложная
Почему B-деревья используются в базах данных и файловых системах?
- AИм не нужна перебалансировка
- BОни хранят неотсортированные данные
- CВысокая степень ветвления делает дерево неглубоким и сокращает число медленных чтений с диска
- DОни занимают меньше памяти, чем любой массив, поэтому весь индекс всегда помещается в оперативной памяти
8.Сложная
Как определить, есть ли цикл в односвязном списке, используя O(1) дополнительной памяти?
- AХранить каждый посещённый узел в хеш-множестве
- BДвигать один указатель на один шаг, а другой на два и проверять, встретятся ли они
- CОтсортировать список и искать повторы
- DСчитать узлы, пока счёт не превысит поле длины списка
Ответы
- 1. D · Данные, указатель на следующий узел и указатель на предыдущий узел
- 2. B · Стек
- 3. C · Узел, затем левое поддерево, затем правое поддерево
- 4. B · Элементы массива расположены непрерывно, поэтому хорошо используют кэш процессора
- 5. D · 20
- 6. C · Очередь с приоритетом по минимуму
- 7. C · Высокая степень ветвления делает дерево неглубоким и сокращает число медленных чтений с диска
- 8. B · Двигать один указатель на один шаг, а другой на два и проверять, встретятся ли они
Полные пошаговые решения: занимайтесь этой темой на examproblems.com.