【发布时间】:2020-05-29 17:47:59
【问题描述】:
我对 8^(log2(n)) 的大 O 表示法感到困惑。
你能不能把它改成O(8^n),因为log2会有点像常数,只是减少n的值?还是会是别的?
在类似的情况下,log2(n^n) 的大 O 是什么。这只是O(log2(n))吗?
【问题讨论】:
标签: time-complexity big-o computer-science complexity-theory
我对 8^(log2(n)) 的大 O 表示法感到困惑。
你能不能把它改成O(8^n),因为log2会有点像常数,只是减少n的值?还是会是别的?
在类似的情况下,log2(n^n) 的大 O 是什么。这只是O(log2(n))吗?
【问题讨论】:
标签: time-complexity big-o computer-science complexity-theory
我们需要日志和指数的以下属性来理解这一点:
b对数b(x) = x
k 。对数b(x) = 对数b(xk)
(xa)b = xa.b
对于第一个问题:
8对数2(n)
= (23)Log2(n)(因为 8 = 23)
= 23 。记录2(n)(使用 Prop#3)
= 2Log2(n3)(使用 Prop#2)
= n3(使用 Prop#1)
= O(n3)
对于第二个问题:
对数2(nn)
= n 。记录2(n)(使用 Prop#2)
= O(n Log(n))
【讨论】:
8^(log(n)) 的大 O 将是 O(2^log(n)) 为 8 = 2^3。
还有log(n^n) = n*log(n)。所以big-O for log2(n^n) 将是O(n*log2(n))
【讨论】: