【问题标题】:Time complexity: O(log n) versus O(log 2n)时间复杂度:O(log n) 与 O(log 2n)
【发布时间】:2021-04-01 14:26:27
【问题描述】:

O(log n) 和 O(log 2n) 一样吗?

【问题讨论】:

  • log(2n) = log(2) + log(n) = log(n) + 常数
  • 是的,只有n很重要,乘法因子可以忽略。在 log 的情况下,它甚至“更可忽略不计”,实际上是 log(2n) = log(n) + log(2),所以只要 n 为“大”,log 2 项就可以忽略不计

标签: time-complexity language-agnostic big-o logarithm


【解决方案1】:

laws of logarithmslog(2N) = log(2) + log(N) 编写,因为你是用大 O 写的,所以你得到的是 O(log(2)) + O(log(N)) = O(log(N)

【讨论】:

    【解决方案2】:

    是的,O(log n) 和 O(log 2n) 是同一个意思。这是因为

    log 2n = log 2 + log n,

    由于 log 2 是一个常数,它被大 O 表示法忽略。

    比这更广泛一点,对数的属性意味着许多常见表达式的对数最终等价于 O(log n)。例如,对于任何固定常数 k,log nk 为 O(log n),因为

    log nk = k log n = O(log n)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-07-09
      • 1970-01-01
      • 2015-05-25
      • 2015-06-12
      • 2011-12-12
      • 1970-01-01
      • 1970-01-01
      • 2015-09-21
      相关资源
      最近更新 更多