可以将O(3 ^ log n)重写为O(n ^ log 3)吗?

时间:2016-04-28 16:55:54

标签: algorithm

O(3 log n )的时间复杂度是否等于或重写为O(n log 3 )?这里,对数基数为2.

1 个答案:

答案 0 :(得分:5)

简答:是的

原因很简单,尽管看起来令人惊讶,但两种功能都是平等的。我们使用以下表示法:

  • log(x)是自然对数
  • ln(a^b) = b*ln(a)是基数2的对数

证据:

众所周知,log(x) = ln(x)/ln(2)ln(3^log(n)) = log(n)*ln(3) = ln(n)*ln(3)/ln(2)。我们将这些公式应用于这两个函数:

  • ln(n^log(3)) = log(3)*ln(n) = ln(3)*ln(n)/ln(2)
  • {{1}}

两个函数的对数相等,这证明两个函数都是相等的。