Алгоритмы и сложность: лист заданий с ответами

Бесплатный лист заданий для печати по теме «Алгоритмы и сложность»: 8 задач от простых до экзаменационного уровня, с ответами. Распечатайте его или сохраните как PDF.

Для преподавателей: можно бесплатно печатать, копировать и использовать на занятиях. Каждый новый лист содержит новые значения и собственные ответы. Будем благодарны за ссылку на ExamProblems на странице вашего курса.

Имя: ____________________   Дата: ____________

1.Лёгкая

Какова временная сложность линейного поиска в неотсортированном массиве из n элементов (в худшем случае)?

  1. AO(n²)
  2. BO(1)
  3. CO(n)
  4. DO(log n)
2.Лёгкая

Цикл начинается с i = 1 и удваивает i на каждой итерации, пока i > n не станет истинным. Сколько итераций он выполнит?

  1. AОколо log₂ n
  2. BОколо n / 2
  3. CОколо n
  4. DОколо n²
3.Лёгкая

Сколько дополнительной памяти использует стандартная сортировка слиянием на массивах?

  1. AO(n²)
  2. BO(log n)
  3. CO(1)
  4. DO(n)
4.Средняя

Почему многие библиотечные процедуры сортировки переходят на сортировку вставками для очень маленьких подмассивов?

  1. AУ сортировки вставками малые накладные расходы, и она быстра на маленьких или почти отсортированных входах
  2. BСортировка вставками использует меньше памяти, чем любой другой алгоритм сортировки, на больших входах
  3. CСортировка вставками имеет сложность O(n log n) в худшем случае
  4. DРекурсивные алгоритмы не справляются с массивами меньше 10 элементов
5.Средняя

Динамическое программирование полезно, когда у задачи есть:

  1. AВообще никаких подзадач, поэтому её можно решить за один шаг
  2. BТолько случайные входные данные
  3. CОдин цикл
  4. DПерекрывающиеся подзадачи и оптимальная подструктура
6.Средняя

Сколько уровней у рекурсии сортировки слиянием для массива из n элементов?

  1. AОколо log₂ n
  2. BОколо n / 2
  3. CОколо n
  4. DОколо √n
7.Сложная

Какой приём обеспечивает ожидаемое время работы O(n log n) для быстрой сортировки на любых входных данных?

  1. AПрименение рекурсии только к левой части
  2. BСортировка входных данных перед запуском быстрой сортировки
  3. CВыбор опорного элемента случайно с равномерным распределением
  4. DВыбор всегда первого элемента
8.Сложная

Какова временная сложность построения двоичной кучи из n неотсортированных элементов восходящим методом (bottom-up)?

  1. AO(n²)
  2. BO(n log n)
  3. CO(n)
  4. DO(log n)

Ответы

  1. 1. C · O(n)
  2. 2. A · Около log₂ n
  3. 3. D · O(n)
  4. 4. A · У сортировки вставками малые накладные расходы, и она быстра на маленьких или почти отсортированных входах
  5. 5. D · Перекрывающиеся подзадачи и оптимальная подструктура
  6. 6. A · Около log₂ n
  7. 7. C · Выбор опорного элемента случайно с равномерным распределением
  8. 8. C · O(n)

Полные пошаговые решения: занимайтесь этой темой на examproblems.com.