Что такое сложность алгоритма
Сложность алгоритма — это оценка того, как быстро он работает при росте объёма данных. Разберём идею без формул.
Зачем это знать
Два кода могут делать одно и то же, но один справляется мгновенно, а второй зависает на больших данных. Сложность помогает заранее понять, будет ли программа быстрой на тысяче и миллионе элементов, а не только на пяти.
На пальцах
Линейная сложность (её записывают как O(n)) — время растёт пропорционально числу элементов: вдвое больше данных — вдвое дольше. Логарифмическая (O(log n)) — растёт очень медленно, как бинарный поиск: миллион элементов проверяется за пару десятков шагов.
Что важно новичку
Не нужно сразу учить формулы. Достаточно чувствовать: вложенные циклы по большим данным — это медленно; готовые структуры и приёмы часто быстрее. На старте пишите понятно, а к скорости приглядывайтесь, когда данные вырастут.
Частые вопросы
Нужна ли для этого высшая математика? Нет, на базовом уровне достаточно понимания идеи роста.
Когда об этом думать? Когда программа начинает тормозить на больших объёмах данных.
Начать игру бесплатно