Алгоритмы и структуры данных.ои(sa_Pyt-р)

Алгоритмы и структуры данных.ои(sa_Pyt-р)

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

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

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

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

Вопрос 1

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

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

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

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

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

  1. func
  2. function
  3. def
  4. lambda
Вопрос 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, 3, 5, 7, 9] вам нужно найти элемент 7. Алгоритм … обеспечит наименьшее количество сравнений

  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)
  3. O(n log n)
  4. O(log n)
  5. пузырьковая сортировка в худшем случае
  6. сортировка вставками в лучшем случае
  7. быстрая сортировка в худшем случае
  8. линейный поиск
Вопрос 61

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

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

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

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

В массиве из 10 элементов вам нужно отсортировать его с минимальным количеством операций. Для оптимального выполнения этой задачи подойдёт …

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

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

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

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

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

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

  1. Итерация
  2. Хвостовая рекурсия
  3. Глобальные переменные
  4. Мемоизация
Вопрос 67

Когда функция …, это представляет собой хвостовую рекурсию

  1. вызывает сама себя в конце своего выполнения
  2. вызывает другую функцию внутри себя
  3. использует цикл for
  4. использует return в середине своего кода
Вопрос 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

В языке Go каждый новый вызов функции добавляется в ... , который работает по принципу LIFO (последним пришёл — первым ушёл)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  1. sys.setrecursionlimit()
  2. рекурсивная функция
  3. стек
  4. хвостовая рекурсия
  5. управляет максимальной глубиной рекурсии
  6. функция, которая вызывает сама себя
  7. отслеживает текущие вызовы функций
  8. оптимизирует использование памяти в рекурсии
Вопрос 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. хвостовая
Вопрос 100

Переполнение стека вызовов в рекурсивной программе приводит к ошибке ...

  1. stack overflow
Вопрос 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

… - максимальная глубина рекурсии при выполнении быстрой сортировки для массива длиной 16

  1. 4
  2. 8
  3. 16
  4. 1
Вопрос 106

Использование … оптимально для реализации очереди в Python

  1. списка
  2. множества
  3. кортежа
  4. словаря
Вопрос 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. две
Вопрос 115

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

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

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

  1. разных
Вопрос 117

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

  1. deque
Вопрос 118

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

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

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

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

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

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

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

  1. FIFO
Вопрос 122

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

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

Установите соответствие между операцией и её описанием:

  1. enqueue
  2. dequeue
  3. merge
  4. split
  5. добавление элемента в очередь
  6. удаление элемента из очереди
  7. объединение отсортированных подмассивов
  8. разделение массива на части
Вопрос 124

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

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

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

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

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

  1. 3
  2. 4
  3. 6
  4. 7
Вопрос 127

… оптимален для использования в качестве ключей в хеш таблице

  1. Список
  2. Множество
  3. Кортеж
  4. Словарь
Вопрос 128

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

  1. hash()
  2. id()
  3. ord()
  4. str()
Вопрос 129

Тип данных “...” является неизменяемым и может использоваться в качестве ключа в словаре

  1. список
  2. множество
  3. кортеж
  4. словарь
Вопрос 130

Если в Python попытаться изменить ключ словаря, …

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

Цель использования хеш-функции в структуре данных - это …

  1. сортировка данных
  2. поиск элемента
  3. определение адреса хранения данных
  4. изменение данных
Вопрос 132

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

  1. строку
  2. число
  3. список
  4. объект
Вопрос 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. коллизией
Вопрос 141

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

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

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

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

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

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

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

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

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

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

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

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

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

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

… - это структура данных, в которой каждый элемент имеет не более двух дочерних элементов?

  1. Двоичное дерево
  2. Связанный список
  3. Граф
  4. Хеш таблица
Вопрос 149

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

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

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

  1. Прямой обход
  2. Центрированный обход (in order)
  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. Центрированный обход (in order)
  3. Обратный обход
  4. Постфиксный обход
Вопрос 155

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

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

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

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

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

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

Обход дерева в порядке “…” выполняется следующим образом: сначала левый дочерний узел, затем корень, затем правый дочерний узел

  1. in order
  2. Центрированный обход
Вопрос 159

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

  1. AVL дерево
Вопрос 160

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

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

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

  1. BFS
Вопрос 162

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

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

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

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

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

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

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

  1. прямой обход (pre order)
  2. центрированный обход (in order)
  3. обратный обход (post order)
  4. обход в ширину (BFS)
  5. корень   левый узел   правый узел
  6. левый узел   корень    правый узел
  7. левый узел   правый узел   корень
  8. уровень за уровнем, слева направо
Вопрос 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. Трансляция
  4. Топологическая сортировка
Вопрос 174

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

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

… находит минимальное остовное дерево графа

  1. Алгоритм Прима
  2. Алгоритм Дейкстры
  3. Алгоритм Краскала
  4. Алгоритм Беллмана Форда
Вопрос 176

В … отсутствуют циклы

  1. ациклическом графе
  2. ориентированном графе
  3. полном графе
  4. взвешенном графе
Вопрос 177

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

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

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

  1. DFS
Вопрос 179

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

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

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

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

Для поиска кратчайшего пути в графе с отрицательными весами ребер используется алгоритм ...

  1. Беллмана Форда
Вопрос 182

Если в графе присутствуют циклы, то такой граф называется ...

  1. циклический
Вопрос 183

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

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

Если граф не содержит петель и кратных ребер, он называется “… граф”

  1. простой
Вопрос 185

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

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

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

  1. алгоритм Дейкстры
  2. алгоритм Краскала
  3. алгоритм Прима
  4. алгоритм BFS
  5. Поиск кратчайшего пути
  6. Поиск минимального остовного дерева (алгоритм Краскала)
  7. Поиск минимального остовного дерева (алгоритм Прима)
  8. Обход в ширину
Вопрос 187

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

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

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

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

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

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

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

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

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

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

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

  1. Алгоритм Паскаля
  2. Алгоритм Флойда Уоршелла
  3. Алгоритм Краскала
  4. Алгоритм Прима
Вопрос 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. Динамическое программирование
Вопрос 202

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

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

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

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

Динамическое программирование решает задачи путём ... подзадач

  1. рекурсии
Вопрос 205

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

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

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

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

Установите соответствие между задачей и подходом к её решению:

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

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

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

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

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

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

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