Возможно ли когда-нибудь, чтобы Big O было меньше O (1)?[дубликат]

StackOverflow https://stackoverflow.com/questions/1286364

Вопрос

Возможный дубликат:
существуют ли алгоритмы O (1/n)?

Возможно ли, чтобы ваш код был большим O меньше O (1)?

Это было полезно?

Решение

O(1) просто означает операцию с постоянным временем.Это время может составлять 1 наносекунду или 1 миллион лет, эта запись не является мерой абсолютного времени.Если, конечно, вы не работаете над ОС для машины времени, то, возможно, ваша функция DoTimeTravel() будет иметь сложность O(-1) :-)

Другие советы

Не совсем. O(1) это постоянное время.Выражаете ли вы это как O(1) или O(2) или O(.5) на самом деле не имеет большого значения, если говорить о чисто большом обозначении O.

Как отмечено в этот вопрос, технически возможно иметь O(1/n), но ни один реальный полезный алгоритм не удовлетворяет этому требованию (хотя некоторые алгоритмы действительно имеют 1/n как часть их алгоритмической сложности).

Единственное, что займет меньше O(1) (постоянное время), — это операция, которая абсолютно ничего не делает и, следовательно, занимает нулевое время.Но даже NOP обычно занимает фиксированное количество циклов...

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top