此代码的大O是什么?
def mod20(n):
return n%20
它是对数线性的吗?
你能描述一下所有大O的例子吗?
答案 0 :(得分:1)
假设你可以插入任何大小的整数,那么复杂性将与除法的复杂性相同。
因为O(log n)
是log n
所以它是O(1)
。
注意1 :如果只能插入32位或64位整数,则“复杂度”将为n % 2^k
。
通知2 :由于计算机以二进制形式保存所有数字,即使n
可以是任意大小,您也可以在konstant时间内获得k
。你只需要n % 20
最小的位。这不适用于n
而不计算{{1}}到基数20的表示。
如果你想知道Big-O的含义,这个post会对你有帮助。