Алгоритмы и структуры данных.mosap_23МАП

Алгоритмы и структуры данных.mosap_23МАП

Просмотрите все вопросы и варианты бесплатно. Правильные ответы скрыты и открываются только после получения доступа.

210 вопросов Вариант 1 Доступ 7 дней
Содержание теста

Вопросы и варианты

Без отметок и подсказок к правильным ответам

Вопрос 1

Функция `len()` в Python возвращает …

  1. длину строки
  2. сумму чисел в списке
  3. максимальное значение в списке
  4. минимальное значение в списке
Вопрос 2

Оператор … используется для выполнения целочисленного деления

  1. /
  2. //
  3. %
  4. ..
Вопрос 3

Ключевое слово … используется для создания функции в Python

  1. def
Вопрос 4

Примером линейного поиска является …

  1. поиск элемента в отсортированном массиве с помощью бинарного поиска
  2. поиск элемента в неотсортированном массиве путем проверки каждого элемента
  3. поиск элемента в хеш таблице
  4. использование метода двух указателей для поиска элементов
Вопрос 5

Функция `input()` возвращает тип данных …

  1. int
  2. float
  3. string
  4. bool
Вопрос 6

Функция … используется для сортировки списка в Python

  1. sorted()
  2. list()
  3. reverse()
Вопрос 7

Оператор … используется для создания цикла в Python

  1. if
  2. else
  3. while
  4. loop
Вопрос 8

Значение … возвращается выражением `3 % 2`

  1. 1
  2. 2
  3. 0
  4. 3
Вопрос 9

Ключевое слово ... позволяет создавать условия в Python

  1. if
Вопрос 10

В цикле ... можно создать переменную цикла, а также задать её изменения по ходу итерации

  1. for
Вопрос 11

Функция ... используется для вычисления длины строки или списка.

  1. len
Вопрос 12

В Python циклы while продолжают выполняться, пока ... выражение является истинным

  1. логическое
Вопрос 13

Оператор ... используется для целочисленного деления, при котором результат делится нацело

  1. //
Вопрос 14

Функция ... используется для округления числа до ближайшего целого

  1. round
Вопрос 15

В языке Python оператор ... применяется для вывода информации в консоль

  1. print
Вопрос 16

Функция ... возвращает наименьший элемент в списке.

  1. min
Вопрос 17

Установите соответствие между оператором и его значением:

  1. //
  2. %
  3. **
  4. ==
  5. целочисленное деление
  6. остаток от деления
  7. возведение в степень
  8. сравнение на равенство
Вопрос 18

Установите соответствие между функцией и её назначением:

  1. len()
  2. sum()
  3. max()
  4. min()
  5. длина строки или списка
  6. сумма элементов списка
  7. максимальный элемент в списке
  8. минимальный элемент в списке
Вопрос 19

Расположите шаги выполнения линейного поиска в правильном порядке:

  1. инициализация переменной для хранения индекса
  2. проверка каждого элемента на соответствие условию поиска
  3. возврат индекса элемента, если он найден
  4. возврат специального значения, если элемент не найден
Вопрос 20

Расположите типы сложности алгоритмов по возрастанию:

  1. O(1)
  2. O(log n)
  3. O(n)
  4. O(n^2)
Вопрос 21

… функция на Python принимает список чисел и возвращает индекс первого найденного четного числа. Если четное число не найдено, функция должна возвращать 1.

  1. def find_even_index(lst):                    for i in range(len(lst)):                        if lst[i] % 2 == 0:                            return i                    return   1
  2. def find_even_index(lst):                    for i in range(len(lst)):                        if lst[i] % 2 == 0:                            return i                    return   2
  3. def find_even_index(lst):                    for i in range(len(lst)):                        if lst[i] % 4 == 0:                            return i                    return   1
  4. def find_even_index(lst):                    for i in range(len(lst)):                        if i % 2 == 0:                            return i                    return   1
Вопрос 22

Метод … используется для добавления элемента в конец списка в Python

  1. insert()
  2. append()
  3. add()
  4. extend()
Вопрос 23

Выражение `arr[2]`, если `arr = [1, 3, 5, 7]` даст результат …

  1. 1
  2. 3
  3. 5
  4. 7
Вопрос 24

Функция … используется для получения длины списка в Python

  1. len()
  2. size()
  3. count()
  4. length()
Вопрос 25

… эффективен для отсортированных массивов

  1. Линейный поиск
  2. Двоичный поиск
  3. Экспоненциальный поиск
  4. Интерполяционный поиск
Вопрос 26

Метод … используется для удаления элемента по индексу в Python

  1. delete()
  2. remove()
  3. pop()
  4. discard()
Вопрос 27

Тип данных … в Python используется для хранения упорядоченной коллекции элементов

  1. set
  2. dict
  3. list
  4. tuple
Вопрос 28

У выражения `arr[1:3]`, если `arr = [2, 4, 6, 8, 10]` будет результат …

  1. [4, 6, 8]
  2. [2, 4]
  3. [4, 6]
  4. [6, 8]
Вопрос 29

Метод … используется для сортировки списка в Python

  1. sort()
  2. order()
  3. arrange()
Вопрос 30

В Python, метод ... возвращает количество элементов в списке

  1. len()
  2. len
Вопрос 31

Алгоритм ... поиска работает на отсортированном массиве и делит его пополам на каждом шаге

  1. двоичного
Вопрос 32

В Python, срез ... позволяет получить часть списка от индекса 2 до 4, исключая последний

  1. [2:4]
Вопрос 33

Выражение `arr. … (5)`, добавляет элемент в конец списка

  1. append()
  2. append
Вопрос 34

Если в Python требуется удалить элемент списка по его значению, используется метод ...

  1. remove()
  2. remove
Вопрос 35

В алгоритме бинарного поиска, если искомое значение меньше значения в середине массива, дальнейший поиск осуществляется в ... части массива

  1. левой
Вопрос 36

В Python, оператор ... используется для проверки наличия элемента в списке.

  1. in
Вопрос 37

Для добавления элемента на определенную позицию в списке используется метод ...

  1. insert()
  2. insert
Вопрос 38

Установите соответствие между методом и его действием:

  1. append()
  2. pop()
  3. remove()
  4. extend()
  5. добавляет элементы из другого списка
  6. удаляет последний элемент
  7. удаляет элемент по значению
  8. добавляет элемент в конец списка
Вопрос 39

Установите соответствие между типом данных и его свойствами:

  1. list
  2. tuple
  3. set
  4. dict
  5. упорядоченная и изменяемая коллекция
  6. упорядоченная и неизменяемая коллекция
  7. неупорядоченная коллекция уникальных элементов
  8. коллекция пар "ключ значение"
Вопрос 40

Расположите этапы выполнения двоичного поиска в правильном порядке:

  1. деление массива на половины
  2. проверка середины массива
  3. сравнение с искомым значением
  4. продолжение поиска в нужной половине
Вопрос 41

Сопоставьте операции со списками с соответствующими методами:

  1. добавление элемента
  2. удаление элемента по значению
  3. сортировка списка
  4. удаление элемента по индексу
  5. append()
  6. remove()
  7. sort()
  8. pop()
Вопрос 42

Процесс приготовления пищи по рецепту является …

  1. циклом
  2. алгоритмом
  3. условной конструкцией
  4. сортировкой
Вопрос 43

… последовательно сравнивает значения соседних элементов и меняет числа местами, если предыдущее оказывается больше последующего

  1. Линейный поиск
  2. Пузырьковая сортировка
  3. Сортировка выбором
  4. Линейная регрессия
Вопрос 44

… работает путем многократного прохода по списку и обмена соседними элементами, если они находятся в неправильном порядке

  1. Быстрая сортировка
  2. Сортировка слиянием
  3. Пузырьковая сортировка
  4. Сортировка вставками
Вопрос 45

… меняет местами минимальный элемент из неотсортированной части массива с первым элементом неотсортированной части

  1. Сортировка выбором
  2. Пузырьковая сортировка
  3. Быстрая сортировка
  4. Сортировка вставками
Вопрос 46

… перемещает каждый элемент в правильное место отсортированной части массива

  1. Пузырьковая сортировка
  2. Сортировка выбором
  3. Сортировка вставками
  4. Сортировка слиянием
Вопрос 47

Временная сложность пузырьковой сортировки в худшем случае - …

  1. O(n)
  2. O(log n)
  3. O(n^2)
  4. O(n log n)
Вопрос 48

… использует стратегию "разделяй и властвуй"?

  1. Быстрая сортировка
  2. Пузырьковая сортировка
  3. Сортировка вставками
  4. Сортировка выбором
Вопрос 49

… - временная сложность сортировки вставками в лучшем случае

  1. O(n)
  2. O(n^2)
  3. O(log n)
  4. O(n log n)
Вопрос 50

… работает на основе идеи последовательного деления массива на меньшие части

  1. Пузырьковая сортировка
  2. Сортировка слиянием
  3. Сортировка выбором
  4. Сортировка вставками
Вопрос 51

Алгоритм ... сортировки многократно проходит по списку, сравнивая соседние элементы и меняя их местами, если они расположены в неправильном порядке

  1. пузырьковой
Вопрос 52

В алгоритме сортировки ... минимальный элемент выбирается и меняется местами с первым элементом неотсортированной части массива

  1. выбором
Вопрос 53

Алгоритм сортировки ... вставляет каждый элемент в отсортированную часть массива, перемещая его на правильное место

  1. вставками
Вопрос 54

В худшем случае временная сложность пузырьковой сортировки составляет ...

  1. O(n,2)
Вопрос 55

Сортировка вставками имеет временную сложность ... в лучшем случае, если массив уже отсортирован.

  1. O(n)
Вопрос 56

Алгоритм ... сортировки использует стратегию "разделяй и властвуй", разделяя массив на меньшие части

  1. быстрой
Вопрос 57

В алгоритме сортировки слиянием временная сложность составляет ... в худшем случае

  1. O(nlogn)
  2. O(n log n)
Вопрос 58

Алгоритм сортировки ... делит массив на части, а затем объединяет их в отсортированном порядке

  1. слиянием
Вопрос 59

Установите соответствие между алгоритмом и его описанием:

  1. пузырьковая сортировка
  2. сортировка выбором
  3. сортировка вставками
  4. сортировка слиянием
  5. сравнивает и меняет соседние элементы местами
  6. выбирает минимальный элемент и меняет его местами
  7. вставляет элемент на правильное место
  8. делит массив на части и объединяет их
Вопрос 60

Установите соответствие между временной сложностью и алгоритмом:

  1. O(n^2)
  2. O(n log n)
  3. O(n)
  4. O(log n)
  5. пузырьковая сортировка в худшем случае
  6. быстрая сортировка в худшем случае
  7. сортировка вставками в лучшем случае
  8. линейный поиск
Вопрос 61

Расположите этапы работы пузырьковой сортировки в правильном порядке:

  1. сравнение соседних элементов
  2. перемещение элемента на правильное место
  3. повторный проход по списку
  4. завершение алгоритма
Вопрос 62

… - алгоритм поиска элемента в списке или массиве, при котором каждый элемент проверяется по очереди до нахождения искомого значения

  1. Линейный поиск
Вопрос 63

… используется для оценки асимптотической сложности алгоритмов, то есть для оценки того, как изменяется время выполнения алгоритма при увеличении размера входных данных

  1. Big O нотация
  2. Big O
Вопрос 64

… демонстрирует использование рекурсии в Python

  1. Использование цикла for
  2. Вызов функции внутри самой себя
  3. Создание списка с помощью генератора
  4. Присваивание значения переменной
Вопрос 65

… может привести к переполнению стека

  1. Чрезмерное использование глобальных переменных
  2. Неправильное использование рекурсии
  3. Использование цикла while без остановки
  4. Использование функции print слишком часто
Вопрос 66

O(1) - это …

  1. Константное время
  2. Линейное время
  3. Квадратичное время
  4. Логарифмическое время
Вопрос 67

Время выполнения 
 пропорционально размеру входных данных - это нотация …

  1. O(n)
  2. O(n^2)
  3. O(log n)
  4. O(1)
Вопрос 68

Результатом работы рекурсивной функции, которая не имеет базового случая, будет …

  1. ошибка синтаксиса
  2. бесконечное продолжение вызова
  3. мгновенное завершение функции
  4. возвращение None фунцкией
Вопрос 69

… используется для отслеживания вызовов рекурсивных функций

  1. Очередь
  2. Стек
  3. Список
  4. Дерево
Вопрос 70

… - основная причина использования рекурсии в программировании

  1. Простота кода
  2. Увеличение времени выполнения
  3. Снижение нагрузки на память
  4. Сложность кода
Вопрос 71

У рекурсивных функций в Python есть ограничение в виде …

  1. ограниченного количества возможных переменных
  2. максимальной глубины рекурсии
  3. отсутствия возможности возврата значений
  4. ограничения на количество аргументов
Вопрос 72

В рекурсии, если не контролировать количество вызовов, это может привести к ... памяти

  1. утечке
Вопрос 73

Если в рекурсивной функции не указан ... случай, то она может привести к переполнению стека

  1. базовый
Вопрос 74

... работает по принципу LIFO (последним пришёл — первым ушёл)

  1. стек
Вопрос 75

Функция, которая вызывает сама себя, называется ...

  1. рекурсивной
Вопрос 76

В рекурсивной функции каждый вызов помещается в ... , пока не будет достигнут базовый случай

  1. стек
Вопрос 77

Максимальная глубина рекурсии в Python контролируется параметром ...

  1. sys.setrecursionlimit
Вопрос 78

Многократный вызов одной и той же рекурсивной функции может привести к ... памяти

  1. переполнению
Вопрос 79

Доступу к элементу массива по индексу соответствует нотация …

  1. O(n)
  2. O(n^2)
  3. O(log n)
  4. O(1)
Вопрос 80

Нотация O(n^2) - это … время

  1. квадратичное
Вопрос 81

Нотация O(log n) обозначает … время

  1. логарифмическое
Вопрос 82

Расположите шаги работы рекурсивной функции в правильном порядке:

  1. проверка базового случая
  2. вызов рекурсивной функции
  3. выполнение базового случая
  4. возврат результата
Вопрос 83

Расположите этапы работы стека в процессе рекурсии в правильном порядке:

  1. вызов функции
  2. добавление вызова функции в стек
  3. выполнение функции
  4. удаление вызова из стека
Вопрос 84

… требует использования стека для корректного выполнения?

  1. Итерационный алгоритм
  2. Линейный поиск
  3. Рекурсивный алгоритм
  4. Алгоритм сортировки пузырьком
Вопрос 85

Неверно, что … является частью алгоритма быстрой сортировки

  1. разделение массива
  2. слияние массивов
  3. рекурсивный вызов
  4. выбор опорного элемента
Вопрос 86

В … сохраняются вызовы функций во время их выполнения

  1. очереди
  2. стеке
  3. списке
  4. множестве
Вопрос 87

… является первым шагом в алгоритме быстрой сортировки

  1. Сортировка левой и правой частей массива
  2. Выбор опорного элемента
  3. Объединение отсортированных массивов
  4. Разделение массива на две части
Вопрос 88

Метод … используется для сортировки массива в Python

  1. sort()
  2. reverse()
  3. pop()
  4. push()
Вопрос 89

Сложность алгоритма быстрой сортировки в худшем случае равна …

  1. O(n)
  2. O(log n)
  3. O(n log n)
  4. O(n^2)
Вопрос 90

… используется для завершения рекурсивного вызова

  1. Стек вызовов
  2. Базовый случай
  3. Опорный элемент
  4. Массив
Вопрос 91

Опорный элемент в алгоритме быстрой сортировки …

  1. объединяет массивы
  2. определяет точку разделения массива
  3. завершает выполнение функции
  4. сортирует массив
Вопрос 92

Если стек вызовов переполнится, …

  1. вызовется функция по умолчанию
  2. программа завершится ошибкой
  3. программа будет продолжать выполнение без изменений
  4. стек вызовов очистится
Вопрос 93

В алгоритме быстрой сортировки каждый рекурсивный вызов сохраняется в структуре данных под названием “...”

  1. стек
Вопрос 94

Алгоритм быстрой сортировки выбирает ... элемент для разделения массива на две части

  1. опорный
Вопрос 95

Алгоритм быстрой сортировки имеет среднюю временную сложность ...

  1. O(n log n)
  2. O(nlogn)
Вопрос 96

Базовый случай рекурсивной функции предотвращает ... вызовов

  1. бесконечность
  2. бесконечное количество
Вопрос 97

Алгоритм сортировки пузырьком в среднем имеет временную сложность ...

  1. O(n,2)
Вопрос 98

Чтобы предотвратить переполнение стека вызовов, в рекурсивной функции обязательно должен быть ... случай

  1. базовый
Вопрос 99

Находка искомого элемента в первой позиции списка при линейном поиске является примером …

  1. лучшего случая
  2. среднего случая
  3. худшего случая
Вопрос 100

… - это способ представления графа (более экономичный способ хранения информации о графе), где каждому узлу соответствует список его соседей

  1. Список смежности
Вопрос 101

Установите соответствие между понятием и его описанием:

  1. стек вызовов
  2. опорный элемент
  3. базовый случай
  4. разделение массива
  5. структура данных, используемая для отслеживания вызовов функций
  6. элемент, используемый для деления массива на части
  7. граничное условие для завершения рекурсии
  8. процесс разделения массива на две части
Вопрос 102

Установите соответствие между понятием и его применением:

  1. быстрая сортировка
  2. стек вызовов
  3. базовый случай
  4. разделение массива
  5. сортировка массива с помощью опорного элемента
  6. хранит текущие вызовы функций
  7. используется для завершения рекурсивной функции
  8. процесс, необходимый для реализации быстрой сортировки
Вопрос 103

Расположите этапы выполнения быстрой сортировки в правильном порядке:

  1. выбор опорного элемента
  2. разделение массива на две части
  3. рекурсивная сортировка левой и правой части массива
  4. объединение отсортированных частей
Вопрос 104

Расположите этапы работы стека вызовов в правильном порядке:

  1. вызов функции
  2. сохранение вызова в стек
  3. выполнение функции
  4. удаление вызова из стека
Вопрос 105

Распределение времени выполнения 
 для произвольного набора данных является примером …

  1. лучшего случая
  2. среднего случая
  3. худшего случая
Вопрос 106

Поиск в неотсортированном списке, когда элемент находится в последней позиции или отсутствует является примером …

  1. лучшего случая
  2. среднего случая
  3. худшего случая
Вопрос 107

… использует подход "разделяй и властвуй"

  1. Пузырьковая сортировка
  2. Сортировка слиянием
  3. Быстрая сортировка
  4. Шейкерная сортировка
Вопрос 108

Метод … используется для добавления элемента в конец очереди

  1. append()
  2. insert()
  3. push()
  4. enqueue()
Вопрос 109

… - временная сложность сортировки слиянием в худшем случае

  1. O(n)
  2. O(n log n)
  3. O(n^2)
  4. O(log n)
Вопрос 110

Метод … удаляет первый элемент очереди

  1. pop(0)
  2. remove(0)
  3. dequeue()
  4. del
Вопрос 111

Анализ по лучшему, среднему и худшему случаю - это …

  1. эмпирическое тестирование производительности программы на реальных данных
  2. оценка времени выполнения для различных типов входных данных
  3. оптимизация алгоритма с учетом реальных сценариев использования
  4. измерение фактического времени выполнения программы на разных устройствах
Вопрос 112

… является рекурсивным методом сортировки

  1. Быстрая сортировка
  2. Сортировка вставками
  3. Сортировка выбором
  4. Сортировка пузырьком
Вопрос 113

… - это функция, обратная экспоненциальной функции. Используется для описания скорости роста алгоритмов, таких как двоичный поиск

  1. Логарифм
  2. Квадратичная функция
  3. Линейная функция
  4. Факториал
Вопрос 114

В алгоритме сортировки слиянием массив разделяется на ... части до тех пор, пока каждая часть не станет массивом длиной 1

  1. две
  2. 2
Вопрос 115

В очереди элементы добавляются в конец и удаляются из …

  1. начала
Вопрос 116

В очереди операции добавления и удаления элементов происходят на ... концах

  1. разных
  2. противоположных
Вопрос 117

Быстрая, временная память, которая используется для выполнения текущих операций - это …

  1. оперативка
  2. оперативная память
  3. RAM
  4. оперативная
Вопрос 118

В Python метод pop(0) удаляет ... элемент очереди

  1. первый
  2. 1
Вопрос 119

В сортировке слиянием подмассивы объединяются в процессе, называемом ...

  1. слияние
  2. слиянием
Вопрос 120

В сортировке слиянием два … подмассива сливаются в один

  1. отсортированных
Вопрос 121

Очередь реализует принцип ... , что означает, что первым добавленный элемент будет первым удален

  1. FIFO
Вопрос 122

Установите соответствие между понятием и его описанием:

  1. очередь
  2. FIFO
  3. pop(0)
  4. сортировка слиянием
  5. структура данных, работающая по принципу "первым пришел первым ушел"
  6. принцип работы очереди
  7. удаляет первый элемент из списка
  8. алгоритм сортировки, использующий подход "разделяй и властвуй"
Вопрос 123

Память для хранения данных, которые не изменяются во время работы (например, BIOS) - это …

  1. постоянная память
  2. ROM
  3. постоянная
Вопрос 124

Расположите этапы выполнения сортировки слиянием в правильном порядке:

  1. разделение массива на две части
  2. рекурсивная сортировка подмассивов
  3. объединение отсортированных подмассивов
  4. слияние подмассивов
Вопрос 125

Расположите этапы работы очереди в правильном порядке:

  1. добавление элемента в очередь
  2. обработка первого элемента
  3. удаление первого элемента
  4. обработка следующего элемента
Вопрос 126

Уникальный идентификатор для каждой ячейки в памяти - это …

  1. указатель
  2. адрес памяти
  3. регистр процессора
  4. кэш-память
Вопрос 127

Структура памяти заключается в том, что память …

  1. разбита на секции случайного размера, которые изменяются динамически
  2. хранит только команды процессора, а данные находятся отдельно
  3. разбита на ячейки фиксированного размера, каждая из которых может хранить данные
  4. состоит исключительно из стековой области без разделения на другие типы памяти
Вопрос 128

… - это то, как данные размещаются в памяти (например, 4-байтовые границы)

  1. Выравнивание
  2. Адресация
  3. Кэширование
  4. Фрагментация памяти
Вопрос 129

… это фиксированные структуры данных, состоящие из элементов одного типа, расположенных последовательно в памяти

  1. массив
  2. массивы
  3. array
Вопрос 130

Массивы имеют … длину и тип элементов, что упрощает управление памятью

  1. фиксированную
Вопрос 131

Итерация по элементам массива называется …

  1. циклирование
  2. индексацией
  3. перебором
  4. сортировкой
Вопрос 132

Один из недостатков массивов заключается в …

  1. фиксированном размере, что может быть неэффективно, если требуется динамическое изменение размера
  2. медленном доступе к элементам по индексу, так как каждый раз требуется просматривать всю структуру данных
  3. отсутствии возможности хранить данные разного типа в одном массиве без дополнительного преобразования
Вопрос 133

Качественная хеш-функция должна равномерно распределять … по всему диапазону индексов

  1. ключи
Вопрос 134

… массивы позволяют изменять размер массива во время выполнения программы, что делает их более гибкими по сравнению с фиксированными массивами

  1. Динамические
  2. Односвязные
  3. Хэшированные
  4. Буферизированные
Вопрос 135

В Python функция ... используется для вычисления хеш значения объекта

  1. hash()
  2. hash
Вопрос 136

Хеш-таблица — это структура данных, в которой для поиска элемента используется его ….

  1. хеш-значение
  2. значение
Вопрос 137

Ключи в словаре Python должны быть ... .

  1. неизменяемыми
Вопрос 138

В Python объекты, которые можно хешировать, называются ...

  1. хешируемыми
Вопрос 139

Словари в Python реализованы с использованием ... таблицы

  1. хеш
Вопрос 140

Динамические массивы обычно реализованы как массивы, которые …

  1. Хранят данные в несмежных областях памяти для оптимизации работы процессора
  2. Изменяют свою структуру при каждом добавлении элемента, создавая новый массив
  3. Всегда используют связанный список для управления памятью
  4. автоматически увеличиваются по мере необходимости
Вопрос 141

Хеш таблицы используются для быстрого ... по ключу

  1. поиска
Вопрос 142

В хеш-таблице данные хранятся в виде пар ключ-... .

  1. значение
Вопрос 143

… является преимуществом динамических массивов

  1. Гибкость в управлении размером
  2. Экономия памяти по сравнению со статическими массивами
  3. Более высокая скорость доступа к элементам по сравнению с обычными массивами
  4. Автоматическая сортировка элементов при добавлении новых данных
Вопрос 144

… является недостатком динамических массивов

  1. Затраты на управление памятью при увеличении и уменьшении размера
  2. Отсутствие возможности индексированного доступа к элементам
  3. Невозможность изменения размера после создания
  4. Медленный доступ к элементам по сравнению со связными списками
Вопрос 145

Расположите шаги создания и использования словаря в Python в правильном порядке:

  1. создание словаря
  2. определение ключей
  3. присвоение значений
  4. использование значений по ключам
Вопрос 146

Расположите шаги при возникновении коллизии в хеш таблице в правильном порядке:

  1. определение хеш значения
  2. проверка наличия коллизии
  3. обработка коллизии
  4. присвоение значения
Вопрос 147

Функция hash("test") вернёт …

  1. строку "test"
  2. уникальное число
  3. произвольное число
  4. ошибку
Вопрос 148

… - это эффективный алгоритм поиска элемента в отсортированном массиве, использующий принцип деления пополам

  1. Бинарный поиск
Вопрос 149

… - это метод обхода дерева или графа, при котором сначала посещаются все узлы на текущем уровне, а затем переходят к узлам на следующем уровне

  1. BFS
  2. обход в ширину
Вопрос 150

… является преимуществом бинарного поиска

  1. Работает на любых структурах данных, независимо от их упорядоченности
  2. Значительное сокращение времени поиска по сравнению с линейным поиском
  3. Не требует предварительной сортировки данных
  4. Гарантирует нахождение элемента в любом возможном случае
Вопрос 151

Метод … используется для вставки нового узла в двоичное дерево поиска

  1. insert()
  2. append()
  3. push()
  4. add()
Вопрос 152

… - высота сбалансированного дерева, если у него есть N узлов

  1. log(N)
  2. N
  3. log(N) + 1
  4. N 1
Вопрос 153

Узел, у которого … называется корневым узлом в дереве

  1. нет дочерних узлов
  2. есть только один дочерний узел
  3. есть два дочерних узла
  4. нет родительских узлов
Вопрос 154

… это простой алгоритм сортировки, который многократно проходит по списку, сравнивает соседние элементы и меняет их местами, если они расположены в неправильном порядке.

  1. Сортировка пузырьком
  2. Пузырьковая сортировка
  3. Пузырьком
Вопрос 155

В … каждый узел может иметь более двух дочерних узлов

  1. двоичном дереве
  2. тройничном дереве
  3. N-арном дереве
  4. AVL дереве
Вопрос 156

В дереве каждый узел, у которого нет дочерних узлов, называется ...

  1. лист
Вопрос 157

В структуре данных "дерево" ... является начальной точкой структуры.

  1. корень
Вопрос 158

Неверно, что … является одним из этапов сортировки пузырьком

  1. Повторение
  2. Разделение списка на подсписки
  3. Проход по списку
  4. Обмен элементов
Вопрос 159

Для поддержания сбалансированности двоичного дерева поиска используется … дерево

  1. AVL
Вопрос 160

Узлы дерева, которые не являются листьями, называются … узлами

  1. внутренними
Вопрос 161

При обходе дерева алгоритмом ... сначала посещаются все узлы на одном уровне, а затем переходят на следующий уровень

  1. BFS
Вопрос 162

Узел дерева, у которого есть хотя бы один дочерний узел, называется … узел

  1. внутренний
Вопрос 163

Если в дереве все уровни, кроме последнего, заполнены, оно называется ...

  1. полное
Вопрос 164

… является минусом сортировки пузырьком

  1. Низкая эффективность для больших массивов
  2. Использует меньше памяти, чем другие алгоритмы сортировки
  3. Работает быстрее, чем быстрая сортировка на больших данных
  4. Обладает наилучшей стабильностью среди всех сортировок
Вопрос 165

Неверно, что … является одним из этапов сортировки выбором

  1. поиск минимального элемента
  2. вставка
  3. повторение
  4. обмен
Вопрос 166

Расположите порядок обхода узлов дерева в прямом порядке (pre order):

  1. корень
  2. левый узел
  3. правый узел
Вопрос 167

Расположите порядок действий при удалении узла в двоичном дереве поиска:

  1. поиск узла
  2. проверка наличия дочерних узлов
  3. удаление узла
  4. перестройка дерева
Вопрос 168

Порядок операций при добавлении узла в двоичное дерево поиска - …

  1. найти место для нового узла и добавить его
  2. найти родительский узел и добавить узел как левый или правый потомок
  3. проверить наличие равного узла, если нет добавить узел
  4. перестроить дерево и добавить узел на нужное место
Вопрос 169

… - структура данных, состоящая из узлов и ребер, соединяющих эти узлы

  1. Граф
  2. Дерево
  3. Массив
  4. Список
Вопрос 170

Алгоритм … используется для поиска кратчайшего пути в графе

  1. Дейкстры
  2. Прима
  3. Хаффмана
  4. Краскала
Вопрос 171

… не имеет направленных ребер

  1. Ориентированный граф
  2. Неориентированный граф
  3. Взвешенный граф
  4. Остовное дерево
Вопрос 172

Одним из недостатков сортировки выбором - …

  1. Низкая эффективность для больших массивов
  2. Требует дополнительной памяти для работы
  3. Не может сортировать массивы с отрицательными числами
  4. Работает только с уже отсортированными массивами
Вопрос 173

Одним из преимуществ сортировки выбором - …

  1. обладает наилучшей скоростью среди всех сортировок
  2. использует многопоточное выполнение для ускорения
  3. гарантированно выполняется за линейное время O(n)
  4. простота реализации и независимость от начального порядка элементов
Вопрос 174

… используется для поиска в ширину в графе

  1. DFS
  2. BFS
  3. Алгоритм Прима
  4. Алгоритм Хаффмана
Вопрос 175

… - это метод, при котором функция вызывает сама себя для решения подзадач исходной задачи.

  1. Рекурсия
Вопрос 176

Рекурсивное условие заключается в том, что …

  1. функция должна вызывать саму себя
  2. функция не должна содержать базовый случай
  3. любая рекурсивная функция должна использовать циклы
  4. функция всегда выполняется быстрее, чем итеративный вариант
Вопрос 177

В ... графе ребра имеют направление

  1. ориентированном
Вопрос 178

Алгоритм ... используется для обхода графа в глубину

  1. DFS
Вопрос 179

Граф, в котором веса всех ребер равны, называется ..

  1. невзвешенный
Вопрос 180

В ориентированном графе вершины соединены с помощью … ребер

  1. направленных
Вопрос 181

… - это условие, при котором рекурсия завершится и функция начнет возвращать значения, чтобы завершить выполнение

  1. Базовый случай
Вопрос 182

Один из плюсов рекурсии заключается в …

  1. том, что рекурсивные алгоритмы всегда работают быстрее, чем итеративные
  2. меньших требованиях к памяти, нежели при использовании циклов
  3. том, что любую задачу можно решить, используя только рекурсию
  4. простоте кода и решении задач, которые естественно делятся на подзадачи
Вопрос 183

... — это способ представления графа в виде двумерной матрицы, где элементы матрицы указывают на наличие или отсутствие ребра между вершинами.

  1. Матрица смежности
Вопрос 184

… базовый случай должен быть чётко определён, чтобы избежать бесконечного выполнения

  1. Явный
  2. Условный
  3. Зависящий от случайных значений
  4. Меняющийся в процессе выполнения
Вопрос 185

… является одним из минусов бинарного поиска

  1. Зависимость от сортировки массива и возможное переполнение стека при глубокой рекурсии
  2. Невозможность поиска в больших массивах
  3. Требует больше времени, чем линейный поиск из-за необходимости постоянно делить массив и проверять средний элемент
  4. Работает только с числами
Вопрос 186

Операция добавления элемента наверх стека - это …

  1. Push
Вопрос 187

Расположите порядок действий при поиске в ширину (BFS):

  1. добавление стартовой вершины в очередь
  2. удаление вершины из очереди
  3. посещение всех смежных вершин
  4. помещение смежных вершин в очередь
Вопрос 188

Операция проверки, пуст ли стек, называется …

  1. IsEmpty
Вопрос 189

… - это алгоритм для нахождения кратчайших путей от исходной вершины до всех других вершин в графе с неотрицательными весами ребер

  1. Алгоритм Дейкстры
Вопрос 190

… - техника оптимизации, при которой задача разбивается на подзадачи, результаты которых сохраняются для повторного использования?

  1. Жадный алгоритм
  2. Динамическое программирование
  3. Разделяй и властвуй
  4. Поиск с возвратом
Вопрос 191

… используется в динамическом программировании

  1. Мемоизация
  2. Жадность
  3. Поиск в глубину
  4. Перебор
Вопрос 192

Операция просмотра верхнего элемента стека без его удаления называется …

  1. Peek
Вопрос 193

… - техника, при которой задачи решаются снизу вверх, начиная с базовых случаев

  1. Мемоизация
  2. Рекурсия
  3. Итерация
  4. Табуляция
Вопрос 194

… оптимально решать методом динамического программирования

  1. Задачи с жадным выбором
  2. Задачи с перекрывающимися подзадачами
  3. Задачи на поиск в глубину
  4. Задачи на комбинаторный перебор
Вопрос 195

… демонстрирует использование динамического программирования

  1. Решение задачи о рюкзаке
  2. Построение остовного дерева
  3. Поиск минимального пути
  4. Генерация всех подмножеств множества
Вопрос 196

То, что задача … указывает на необходимость применения динамического программирования

  1. имеет одно решение
  2. может быть решена жадным алгоритмом
  3. имеет подзадачи, которые решаются многократно
  4. требует полного перебора
Вопрос 197

Мемоизация …

  1. использует итеративный подход
  2. хранит результаты уже решенных подзадач
  3. применяется только в задачах поиска в ширину
  4. увеличивает количество вычислений
Вопрос 198

В динамическом программировании для хранения промежуточных результатов используют ...

  1. таблицу
Вопрос 199

Метод “...” позволяет избегать повторных вычислений одной и той же подзадачи.

  1. мемоизация
Вопрос 200

Для решения задачи о рюкзаке с использованием динамического программирования необходимо заполнить ...

  1. таблицу
Вопрос 201

Один из недостатков метода “разделяй и властвуй” заключается в том, что …

  1. он всегда требует больше памяти, чем другие методы
  2. он не подходит для сортировки и поиска
  3. он гарантирует худшую производительность на всех входных данных
  4. том, что рекурсивные вызовы могут привести к переполнению стека
Вопрос 202

В задачах с ... подзадачами динамическое программирование является эффективным подходом

  1. перекрывающимися
Вопрос 203

... позволяет разбивать задачу на более мелкие подзадачи и использовать их решения для более крупных задач.

  1. Динамическое программирование
Вопрос 204

… - это структура данных, работающая по принципу "первый пришёл — первый вышел" (FIFO). Элементы добавляются в конец этой структуры и удаляются из её начала

  1. Очередь
Вопрос 205

Метод табуляции предполагает, что задачи решаются ...

  1. снизу вверх
Вопрос 206

Установите соответствие между термином и его определением:

  1. мемоизация
  2. табуляция
  3. перекрывающиеся подзадачи
  4. оптимальное подструктурирование
  5. сохранение результатов для повторного использования
  6. решение задач снизу вверх
  7. подзадачи, которые используются в решении других подзадач
  8. структура задачи позволяет решать её частично и использовать эти результаты
Вопрос 207

Операция добавления элемента в конец очереди называется …

  1. Enqueue
Вопрос 208

Расположите порядок действий при решении задачи с помощью мемоизации:

  1. проверить, решена ли уже подзадача
  2. если не решена, решить её
  3. сохранить результат
  4. вернуть сохраненный результат
Вопрос 209

Расположите порядок действий при решении задачи о рюкзаке с использованием динамического программирования:

  1. создать таблицу для хранения результатов
  2. заполнить таблицу базовыми случаями
  3. заполнить оставшиеся ячейки таблицы
  4. найти оптимальное решение, используя заполненную таблицу
Вопрос 210

Задача … может быть решена с помощью динамического программирования

  1. поиска в ширину
  2. поиска кратчайшего пути в графе
  3. поиска наибольшей возрастающей подпоследовательности
  4. сортировки пузырьком