嗨,如果log(n ^ 2)可以写成O(log(n)),我会徘徊吗?
我很困惑,因为n ^ 2不是O(n),但在这种情况下,因为它受到日志的限制,我们能说出来吗?
答案 0 :(得分:3)
对数的基本数学属性:log(n^2) = 2*log(n)
其中^
表示""的力量。
所以O(log(n^2)) = O(2*log(n))
。
通过复杂度计算,重点是限制中的收敛行为,因此取消了常数乘数。这意味着O(2*log(n)) = O(log(n))
。
将上述所有内容放在一起,结果就是O(log(n^2)) = O(log(n))
。
答案 1 :(得分:2)
由于日志规则,log(n ^ 2)= 2log(n)。