Все истории

⚔️ Почему O(n) лучше, чем O(n²)? Один простой пример, который всё объясняет

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

Продолжим тему сложности алгоритмов. 👇

Представь, что тебе дали список из 1000 учеников.
Нужно проверить, есть ли среди них человек по имени Андрей.

Есть два варианта.
🟢 O(n)
Ты проходишь список один раз.
Нашёл Андрея — закончил поиск.
Максимум — 1000 проверок.
Вполне нормально.

🔴 O(n²)
Теперь представь, что для каждого ученика ты снова проходишь весь список.
1000 × 1000.
Это уже...
😵 1 000 000 проверок.

Разница кажется небольшой только на бумаге.

Но если учеников станет 100 000:
🟢 O(n) → около 100 тысяч операций.
🔴 O(n²) → уже 10 миллиардов операций.

Именно поэтому программа, которая «летала» на тестовых данных, может начать тормозить на реальных пользователях.

💡 Хороший алгоритм — это не всегда более сложный код.
Очень часто это просто более удачная идея.

Один правильно выбранный алгоритм способен ускорить приложение в десятки, сотни и даже тысячи раз — без покупки нового сервера и без переписывания всего проекта. 🚀

👇 А как думаешь, что важнее для junior-разработчика?
Научиться писать работающий код или уже с первых проектов думать о том, насколько эффективно он работает?