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

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

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

Имя: ____________________   Дата: ____________

1.Лёгкая

Что такое мемоизация?

  1. AОсвобождение памяти после возврата из функции
  2. BНаписание комментариев рядом с каждой строкой кода
  3. CАвтоматическое преобразование рекурсии в эквивалентный цикл, так что стек вызовов не нужен
  4. DСохранение результатов вызовов функции, чтобы повторные вызовы получали ответ из памяти
2.Лёгкая

Какая нотация описывает верхнюю границу роста?

  1. AO-большое
  2. BОмега-большое
  3. CОмега-малое
  4. DТета-большое
3.Лёгкая

Какое из этих времён работы полиномиально?

  1. AO(2ⁿ)
  2. BO(nⁿ)
  3. CO(n³)
  4. DO(n!)
4.Средняя

Какова временная сложность быстрой сортировки (quicksort) в худшем случае?

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

Жадный алгоритм:

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

Какова временна́я сложность: for i = 1 to n: for j = 1 to i: выполнить работу O(1)?

  1. AO(n)
  2. BO(n³)
  3. CO(n²)
  4. DO(n log n)
7.Сложная

Какое определение класса NP верно?

  1. AЗадачи, которые нельзя решить за полиномиальное время
  2. BЗадачи распознавания, положительные ответы которых можно проверить за полиномиальное время при наличии сертификата
  3. CЗадачи, которые не являются полиномиальными
  4. DЗадачи, которые не может решить ни один алгоритм
8.Сложная

Каково решение рекуррентного соотношения T(n) = 2T(n/2) + n log n?

  1. AΘ(n²)
  2. BΘ(n log n)
  3. CΘ(n log² n)
  4. DΘ(n)

Ответы

  1. 1. D · Сохранение результатов вызовов функции, чтобы повторные вызовы получали ответ из памяти
  2. 2. A · O-большое
  3. 3. C · O(n³)
  4. 4. C · O(n²)
  5. 5. A · На каждом шаге делает локально наилучший выбор
  6. 6. C · O(n²)
  7. 7. B · Задачи распознавания, положительные ответы которых можно проверить за полиномиальное время при наличии сертификата
  8. 8. C · Θ(n log² n)

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