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

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

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

Имя: ____________________   Дата: ____________

1.Лёгкая

Что описывает время работы алгоритма в худшем случае?

  1. AВремя на самом маленьком входе
  2. BВремя на медленном компьютере
  3. CМаксимальное время по всем входам размера n
  4. DОжидаемое время на случайном входе размера n
2.Лёгкая

Каково O большое для 3n² + 5n + 2?

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

Что описывает время работы в среднем случае?

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

Быстрая сортировка всегда берёт в качестве опорного первый элемент. На каком входе проявляется её поведение в худшем случае?

  1. AНа массиве, все элементы которого различны
  2. BНа уже отсортированном массиве
  3. CНа массиве длины 2
  4. DНа массиве в случайном порядке
5.Средняя

Нижняя граница для сортировки сравнениями в худшем случае равна:

  1. AΩ(n log n)
  2. BΩ(n)
  3. CΩ(log n)
  4. DΩ(n²)
6.Средняя

Верно ли утверждать, что алгоритм O(n²) также является O(n³)?

  1. AНет, потому что при больших n значение n³ меньше n²
  2. BДа, потому что O большое — верхняя граница, а n² растёт не быстрее n³
  3. CНет, потому что O большое всегда должно указывать точную скорость роста функции
  4. DДа, но только если n меньше 100
7.Сложная

Каковы затраты времени и памяти при вычислении n-го числа Фибоначчи циклом, хранящим только два последних значения?

  1. AO(n) времени и O(1) памяти
  2. BO(2ⁿ) времени и O(1) памяти
  3. CO(log n) времени и O(n) памяти
  4. DO(n) времени и O(n) памяти
8.Сложная

Умножение Карацубы удовлетворяет T(n) = 3T(n/2) + O(n). Каково решение?

  1. AΘ(n log n)
  2. BΘ(nlog₂ 3), примерно n1,585
  3. CΘ(n3)
  4. DΘ(n²)

Ответы

  1. 1. C · Максимальное время по всем входам размера n
  2. 2. D · O(n²)
  3. 3. C · Ожидаемое время при заданном распределении входов размера n
  4. 4. B · На уже отсортированном массиве
  5. 5. A · Ω(n log n)
  6. 6. B · Да, потому что O большое — верхняя граница, а n² растёт не быстрее n³
  7. 7. A · O(n) времени и O(1) памяти
  8. 8. B · Θ(nlog₂ 3), примерно n1,585

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