我怎么能用Big O表示法表达这个?

时间:2015-03-27 09:01:41

标签: math big-o

如何用Big O表示法表达2(3(logn-1))? 是2n还是2log n

1 个答案:

答案 0 :(得分:2)

这是对数基础重要的一种情况。所以,比方说,对数的基础是a。您可以通过

将其更改为3
logan = log₃n / log₃a

现在你可以简化指数

3logan - 1 = 3log₃n / log₃a - 1 = n1/log₃a / 3

所以你总得到

2n1/log₃a / 3 = 2n1/log₃a / 3 ⋅ 21/3 ∈ O(2n1/log₃a)

如果a = 3的复杂性为O(2ⁿ)。如果a = 2,复杂度为O(2nc),其中为 c = 1/log₃2 ≈ 1.5850

注意:2nc = 2(nc) ≠ (2n)c = 2cn。所以你不能更多地简化复杂性。