为什么O(2^log(n))
等同于O(n)
?另外为什么这被认为是指数运行时间而不是多项式运行时间?
答案 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)
2 ^ log2(n)= n,这是log(n)对性能特征(大O)的意义。
它是O(n),因此多项式(n是多项式),而不是指数(2 ^ n将是指数)。