为什么O(2 ^ log(n))= O(n)并且它不是指数运行时间?

时间:2015-05-06 03:37:40

标签: math time-complexity complexity-theory

为什么O(2^log(n))等同于O(n)?另外为什么这被认为是指数运行时间而不是多项式运行时间?

2 个答案:

答案 0 :(得分:6)

此语句有时是真的,有时也是假的,具体取决于对数的基数。例子:

  • O (2 lg n )= O n ),其中lg是二进制对数。

  • O (2 log_4 n )= O n 1/2 ),其中log_4是基数为4的对数。

  • O (2 log_1.25992 n )= O n < / i> 3 ),因为1.25992是2的立方根。

通常,对于未指定的对数基数, O (2 log n )等于 O n k )对于某些 k 多项式时间)。

答案 1 :(得分:-1)

对于log2,

2 ^ log2(n)= n,这是log(n)对性能特征(大O)的意义。

它是O(n),因此多项式(n是多项式),而不是指数(2 ^ n将是指数)。