Робочий аркуш «Алгоритми та складність» з відповідями

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

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

Ім’я: ____________________   Дата: ____________

1.Легка

Скільки додаткової пам'яті використовує стандартне сортування злиттям на основі масиву?

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

Який алгоритм сортування обирає опорний елемент і розбиває масив на менші й більші елементи?

  1. AСортування злиттям
  2. BШвидке сортування (quicksort)
  3. CСортування вставками
  4. DСортування бульбашкою
3.Легка

Задачу зазвичай називають практично розв'язною (tractable), якщо:

  1. AЇї можна розв'язати лише перебором усіх можливостей
  2. BЇї можна розв'язати за поліноміальний час
  3. CВона не має розв'язку
  4. DЇї можна розв'язати за сталий час
4.Середня

Ви один раз сортуєте масив із n елементів, а потім відповідаєте на k запитів про належність бінарним пошуком. Яка загальна вартість?

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

Яка часова складність швидкого сортування (quicksort) у найгіршому випадку?

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

Швидке сортування завжди бере опорним перший елемент. На яких вхідних даних воно демонструє поведінку найгіршого випадку?

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

Що треба зробити, щоб показати, що нова задача X є NP-складною?

  1. AЗвести X до відомої NP-складної задачі за поліноміальний час
  2. BПоказати, що X можна перевірити за поліноміальний час
  3. CПоказати, що X не має поліноміального алгоритму для малих вхідних даних
  4. DЗвести відому NP-складну задачу до X за поліноміальний час
8.Складна

Алгоритм Штрассена множить матриці, використовуючи 7 замість 8 рекурсивних множень блоків половинного розміру. Який його час виконання?

  1. AΘ(nlog₂ 7), близько n2,81
  2. BΘ(n² log n)
  3. CΘ(n³)
  4. DΘ(n2)

Ключ відповідей

  1. 1. B · O(n)
  2. 2. B · Швидке сортування (quicksort)
  3. 3. B · Її можна розв'язати за поліноміальний час
  4. 4. C · O(n log n + k log n)
  5. 5. B · O(n²)
  6. 6. A · На вже відсортованому масиві
  7. 7. D · Звести відому NP-складну задачу до X за поліноміальний час
  8. 8. A · Θ(nlog₂ 7), близько n2,81

Повні покрокові розв’язки: тренуйте цю тему на examproblems.com.