Skip to main content

Що таке часова складність?

Часова складність - це спосіб оцінити, як змінюється час роботи алгоритму залежно від розміру вхідних даних (n). Вона показує швидкість зростання кількості операцій, а не реальний час у секундах.


Навіщо вона потрібна

Вона дозволяє порівнювати алгоритми незалежно від комп'ютера, мови та реалізації. Тобто відповідає на питання:

Що буде, якщо даних стане у 10, 100 або 1 000 000 разів більше?


Як виражається

Використовують Big-O нотацію - (O(1), O(\log n), O(n), O(n \log n), O(n^2)) тощо.

Наприклад:

  • (O(1)) - час не залежить від розміру даних (константа)
  • (O(n)) - час зростає лінійно
  • (O(n^2)) - квадратичне зростання (стає дуже повільним на великих даних)

Що саме вимірюють

Рахують кількість базових операцій:

  • порівнянь
  • звернень до пам'яті
  • арифметичних дій
  • ітерацій

Важливе не точне число, а як воно зростає зі збільшенням n.


Підсумок

Часова складність відповідає на ключове питання:

наскільки алгоритм сповільнюється при зростанні обсягу даних?

За нею можна зрозуміти, чи буде алгоритм масштабуватися, чи «помре» на великих вхідних даних.

Коротка відповідь

Для співбесіди
Premium

Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.