Дрон Кодер — программирование для детей и взрослых в игровой форме. Начать бесплатно

Что такое алгоритмическая сложность на примерах

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

Не про секунды, а про рост

Сложность оценивает не «сколько секунд», а как меняется время, когда данных становится больше. Один алгоритм при удвоении данных станет вдвое медленнее, другой — в четыре раза, третий почти не заметит. Это и важно на больших объёмах.

Простые примеры

Найти имя в списке по порядку — чем длиннее список, тем дольше (линейно). Найти слово в словаре, открывая посередине, — гораздо быстрее (логарифмически). Сравнить каждого с каждым в классе — растёт очень быстро (квадратично).

Обозначение Big O

Сложность записывают как O(n), O(log n), O(n²). Буква n — размер данных. O(n) — линейно, O(log n) — очень быстро, O(n²) — тяжело на больших n. Это язык, на котором программисты сравнивают алгоритмы.

Зачем это новичку

На маленьких данных разница незаметна, но на больших плохой алгоритм «повесит» программу. Понимание сложности приходит с практикой. Начните с базовых циклов и поиска — их удобно осваивать в «Дрон Кодере».

Частые вопросы

Нужно ли считать сложность точно? Для старта достаточно понимать порядок роста, а не точные числа.

O(1) — это что? Постоянное время: алгоритм работает одинаково быстро при любом объёме данных, например взятие элемента по индексу.

Начать игру бесплатно
Попробуй прямо здесь
Уровень 1

Задание

Все обучающие игры «Дрон Кодер»

Одна вселенная — много модулей. Программирование, математика и логика в одной игре: пиши код, считай, решай задачи — а дрон-фермер летит по полю и собирает урожай. В каждом модуле первый уровень бесплатный, без регистрации.

📈 Математика · алгебра и графики
📖 Русский язык