O(log n)的登录下省略了哪个数字?

时间:2019-07-11 16:56:38

标签: time complexity-theory

在O(log n)中,省略哪个基数“ 2”或“ 10”? log n的时间复杂度基于对序列的划分,因此应该为2。通常,log中以10为基。

1 个答案:

答案 0 :(得分:1)

此表示法表示算法的运行时间相对于N的大小如何增长。它所指的基础没有区别。就像它的O(n)或O(k * n)一样(k为实常数)一样。

澄清:

  

任何给定基数X中的日志可以编写如下:

     

log x (n)= log 10 (n) log 10 (x )

     

让k = log 10 (x),所以我们有:

     

log x (n)=(1 ⁄ k)×log 10 (n)

     

这也是复杂度log(n)的函数

我建议更容易地将此​​属性可视化是认为将一个函数乘以一个常数会使它的图形垂直拉伸(或缩小),而这不会改变曲线本身的形状。形状就是这种符号的含义。

摘自Wikipedia:

  

Similarly, logs with different constant bases are equivalent.