大O符号Log Base 2或Log Base 10

这个问题在这里已经有了答案:

  • 是大O(logn)日志基础? 7个答案

  • 我认为日志的基础是什么并不重要,因为相对复杂性是相同的,而与所用基数无关。

    所以你可以把它看作O(log2X)= O(log10X)

    还要提到对数与某些常数有关。

    所以

    log 10(x)= log 2(x)/ log 2(10)

    所以大多数时候我们通常忽略复杂性分析中的常量,因此我们说基数并不重要。

    此外,您可能会发现在合并排序中大多数情况下该基准被认为是2。 树的高度为log₂ n ,因为节点有两个分支。

    1)我很困惑它是否是基于Log 10或Log base 2,因为不同的文章使用不同的基数作为其对数。

    所以如上所述,这个基地的变化并不重要。

    2)如果Log base 2或Log base 10是否有区别?

    不,这没关系。

    3)当我们看到O(LogN)时,我们可以假设它意味着Log base 10吗?

    是的,您可以假设您知道基本转换规则。


    所有x的log 10(x)= log 2(x)/ log 2(10)。 1 / log 2(10)是一个常数乘数,可以从渐近分析中省略。

    更一般地说,任何对数的基数都可以通过除以log(b)从a变为b(两个常数都是n),因此您可以在大于1的对数基数之间自由切换:O(log 10(n))是与O(log 2(n)),O(ln(n))等相同

    这样做的一个例子就是B树不是渐近地击败平衡的二元搜索树,尽管它们在分析中给出了更高的对数基。 刚好有更好的常量。


    在大O符号中, O(log(n))对于所有基数都是相同的。 这是由于对数基转换:

    log2(n) = log10(n)/log10(2)
    

    1/log10(2)只是一个常数倍数因子,所以O(log2(n))O(log10(n))

    链接地址: http://www.djcxy.com/p/40015.html

    上一篇: Big O notation Log Base 2 or Log Base 10

    下一篇: Big O Running Time for different Data Strucutres