是否有可能使大O小于O(1)?

时间:2009-08-17 06:05:42

标签: complexity-theory big-o time-complexity

  

可能重复:
  are there any O(1/n) algorithms?

您的代码是否可能比O(1)小O?1

3 个答案:

答案 0 :(得分:6)

O(1)仅表示恒定时间操作。那个时间可能是1纳秒或100万年,这个符号不是绝对时间的衡量标准。除非您正在使用时间机器的操作系统,否则您的DoTimeTravel()函数可能会有O(-1)复杂性: - )

答案 1 :(得分:2)

不是真的。 O(1)是恒定的时间。无论您将其表达为O(1)还是O(2)还是O(.5),只要纯粹的大写符号表达起来就没有什么区别。

this question所述,技术上可能有一个O(1/n),但没有真正有用的算法可以满足这一要求(尽管有些算法确实有1/n作为一部分他们的算法复杂度。)

答案 2 :(得分:0)

唯一需要少于O(1)(恒定时间)的操作将是一个绝对没有任何操作,因此花费零时间。但即使是NOP通常需要一定数量的周期......