Это известно как нотация Big O , это выражение асимптотической сложности данного алгоритма и в отношении некоторых параметров.
- асимптотика означает, что нас интересуют не первые несколько случаев, а поведение алгоритма при увеличении размера входных параметров.
- параметры зависят от измеряемого алгоритма
- операция, в которой мы заинтересованы
Например, в случае бинарного поиска мы выражаем связь между количеством выполненных сравнений в зависимости от размера набора, в котором мы ищем.
Из этого обычно можно определить время выполнения, но это не всегда верно, особенно если не выбрана правильная «операция» в отношении реализации или аппаратных ограничений.
Несколько дней назад был хороший пост, в котором говорилось о сортировке с использованием ленты в качестве хранилища. Поскольку сложности в поиске выражают количество сравнений и использование ленты в качестве хранилища, время выполнения ленты в основном зависит от движения ленты ... оказалось, что пузырьковая сортировка будет работать лучше, чем быстрая сортировка, несмотря на то, что в целом она описывается как медленная. *