【问题标题】:When analyzing complexity - is the base of the logarithm significant? [closed]在分析复杂性时 - 对数的底是否重要? [关闭]
【发布时间】:2012-09-05 09:34:03
【问题描述】:

在将算法的复杂性写成对数时,例如合并排序是 O(nlogn)。

对数的底是多少,有关系吗,为什么?

【问题讨论】:

  • 提示:使用拼写检查器并考虑至少 1 秒来考虑使用哪些标签。
  • 它和 Windows 有什么关系?
  • 在 Windows 上运行的算法使用 base 10; Linux 使用 base 2。

标签: algorithm math big-o time-complexity


【解决方案1】:

对数的底数无关紧要。

下一个方程对所有 m,n,k1 成立:

log_m(n) = log_k(n)/log_k(m)

由于1/log_k(m) 是恒定的,所有log_k(n) 也是log_m(n)。这对于 all k,m 是正确的,因此在使用大 O 表示法时,对数的底并不重要,因为 O(log_k(n)) = O(log_m(n))


(1) 更多详情:http://en.wikipedia.org/wiki/Logarithm#Change_of_base

【讨论】:

    【解决方案2】:

    在 O 和 Omega 表示法中,具有不同常数基数的对数是等价的。这是因为差异是常数,常数被忽略了。

    看。 Big O Notation

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-05-18
      • 2015-05-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-25
      • 1970-01-01
      相关资源
      最近更新 更多