Skip to content

复习对数

对数含义

对数,英语叫做 logarithm,用来描述一个数是另一个数的多少次幂。

例如如果有 by = x,那么 logbx = y,就是幂运算的逆运算。其中:

  • b:称之为对数的底数(base)
  • x:称之为对数的真数(argument)
  • y:对数的结果(result)

常见对数的底

  • 自然对数(ln):底数是 e(大约等于 2.718)。在数学和很多科学领域,使用自然对数比较普遍。
  • 二进制对数(log₂):底数是 2,常用于计算机科学中,因为计算机使用二进制表示数据。
  • 常用对数(log₁₀):底数是 10,通常在科学和工程中使用。

大O表示法中,经常会省略底数‼️

举个例子,假设算法的复杂度为 O(log2n) ,我们会直接表示为 O(logn),直接省略了底数 2.

原因:因为大O表示法关心的是算法的增长速率,而底数是多少不会影响增长的速率,底数的变化仅仅是一个常数因子的变化。

假设有 log2n 和 log10n,这两者之间的关系可以用一个公式:log10n = log2n / log210,进一步进行换算:log2n = log10n * log210,这里的log210 就是一个常数因子,在大O表示法中常数因子会被忽略,不会去关心常数。这也是为什么在大O表示法中会省略底数的原因。

对数相关计算

  1. 乘法法则: logb(xy) = logbx + logby

    log28 + log24 = log2(8 x 4)

    3 + 2 = log232 = 5

  2. 除法法则: logb(x/y) = logbx - logby

    log28 - log22 = log2(8 / 2)

    3 - 1 = log24 = 2

  3. 幂法则:logbxk = k * logbx

    log283 = 3 _ log28 = 3 _ 3 = 9

    log283 = log2512 = 9

对数应用场景

  1. 计算机科学:O(logn)
  2. 物理学
  3. 金融和经济学领域
  4. 生物学

-EOF-