Все истории

⚡️ Что такое сложность алгоритма и почему программисты постоянно говорят про O(n)?

Копия публикации из архива канала. Дата и текст сохранены.

Представь, что тебе нужно найти нужную книгу.
📚 Вариант 1 — библиотекарь сразу показывает нужную полку.
📚 Вариант 2 — ты перебираешь каждую книгу одну за другой.

Результат один и тот же.
Но времени уйдет совсем по-разному.

Именно это и описывает сложность алгоритма.
Она показывает не сколько секунд работает программа, а как быстро растет время её работы, когда данных становится больше.

Например:
🟢 O(1) — почти мгновенно. Неважно, 10 элементов или миллион.
🔵 O(log n) — очень быстро. Так работают многие эффективные поиски.
🟡 O(n) — придется пройтись по всем данным один раз.
🟠 O(n²) — становится больно уже на больших объемах. Каждое действие проверяет все остальные.

🤯 Если на 100 элементах всё работает идеально, это ещё ничего не значит.

На миллионе элементов разница между O(n) и O(n²) может оказаться не в секундах...
...а в десятках минут или даже часах.

💡 Поэтому опытные разработчики думают не только о том, чтобы код работал, но и как он будет работать через год, когда пользователей станет в тысячу раз больше.

Иногда одна удачная идея в алгоритме ускоряет программу сильнее, чем покупка более мощного сервера. 🚀

👇 А как думаешь, что важнее на старте проекта?
🔥 Просто заставить код работать.
⚡️ Или сразу думать о производительности?