N是随机数,
我对束缚感到困惑。
感谢您的帮助。
答案 0 :(得分:2)
好吧,对于一个随机数n
,存在a
,b
这样的2^a <= n <= 2^b
或只是一个k
这样的2^(k-1) <= n <= 2^k - 1
(1)。我们知道,对于小于2^n
的任何数字,我们需要log(2^n) = n * log(2) = n
位来表示它(2)。例如:
最后,对于随机数n的确切位数b,我们可以使用公式:
b = floor(log(n)) + 1
因此,我们要使用的big-O表示法是O(floor(log(n)) + 1) = O(logn)
。
其他信息:
1)我认为这是一个随机的,整数的正数(尽管也很容易归纳为负数),我认为这是您遇到的问题;对于小数来说,推广这个公式会比较困难
2)对数符号是指以2为底的对数