Сложность алгоритмов: Big-O

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

n →операции
КлассНазваниеОпераций при n=16
O(1)постоянная1
O(log n)логарифмическая4
O(n)линейная16
O(n·log n)линейно-логарифмическая64
O(n²)квадратичная256
O(2ⁿ)экспоненциальная65 536
O(n!)факториальная20 922 789 888 000

Что такое Big-O

«O-большое» описывает, как растёт время работы (число операций) при увеличении размера входных данных n, отбрасывая константы. Это позволяет сравнивать алгоритмы независимо от компьютера. O(1) — постоянное время, O(log n) — двоичный поиск, O(n) — линейный проход, O(n·log n) — хорошие сортировки, O(n²) — вложенные циклы, O(2ⁿ) и O(n!) — перебор, который быстро становится неподъёмным.

Поддержать проект