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

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

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

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

1.Легка

Що таке алгоритм?

  1. AМова програмування, призначена для запису математичних формул
  2. BСкінченна послідовність чітко визначених кроків, що розв'язує задачу
  3. CБудь-яка комп'ютерна програма з графічним інтерфейсом
  4. DСтруктура даних, що зберігає числа
2.Легка

Що таке базовий випадок рекурсивної функції?

  1. AПерший рядок функції
  2. BВипадок із найбільшими вхідними даними, який обробляється до будь-яких рекурсивних викликів
  3. CВиклик, що використовує найбільше пам'яті
  4. DВипадок, на який відповідають безпосередньо, без нового рекурсивного виклику
3.Легка

Що описує час виконання алгоритму в найгіршому випадку?

  1. AЧас на найменших вхідних даних
  2. BМаксимальний час на всіх вхідних даних розміру n
  3. CОчікуваний час на випадкових вхідних даних розміру n
  4. DЧас на повільному комп'ютері
4.Середня

Що обчислює алгоритм Флойда–Воршелла і як швидко?

  1. AМінімальне кістякове дерево за O(E log V)
  2. BНайкоротші шляхи від однієї початкової вершини до всіх інших за O(V + E)
  3. CНайкоротші шляхи між усіма парами вершин за O(V³)
  4. DТопологічний порядок за O(V²)
5.Середня

Яка амортизована часова складність додавання елемента в кінець динамічного масиву, який подвоює свою місткість у разі заповнення?

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

Яка часова складність обчислення n-го числа Фібоначчі за допомогою таблиці знизу вгору?

  1. AO(n)
  2. BO(log n)
  3. CO(n²)
  4. DO(2ⁿ)
7.Складна

Яка часова складність: for i = 1 to n: for (j = i; j ≤ n; j = j + i) виконати роботу O(1)?

  1. AO(n²)
  2. BO(n log n)
  3. CO(n √n)
  4. DO(n)
8.Складна

Яке твердження про позначення «мале o» правильне?

  1. A2n = o(n), бо 2n зростає повільно
  2. Bn = o(n), бо кожна функція є «мале o» від самої себе
  3. Cn² = o(n)
  4. Dn = o(n²), але n не є o(n)

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

  1. 1. B · Скінченна послідовність чітко визначених кроків, що розв'язує задачу
  2. 2. D · Випадок, на який відповідають безпосередньо, без нового рекурсивного виклику
  3. 3. B · Максимальний час на всіх вхідних даних розміру n
  4. 4. C · Найкоротші шляхи між усіма парами вершин за O(V³)
  5. 5. B · O(1)
  6. 6. A · O(n)
  7. 7. B · O(n log n)
  8. 8. D · n = o(n²), але n не є o(n)

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