您的代码是否可能比O(1)小O?1
答案 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通常需要一定数量的周期......