一尘不染

时间复杂度算法中的对数基数

algorithm

所有时间复杂度算法的对数基础是什么?是10底还是e底?

当我们说平均排序复杂度为O(n log n)时。日志的底数是n还是10?


阅读 323

收藏
2020-07-28

共1个答案

一尘不染

在计算机科学中,它通常以2为基础。这是因为许多表现出这种复杂性的分而治之算法正在将问题分为两步。

二进制搜索是一个典型的例子。在每个步骤中,我们将数组分为两个部分,并且仅对其中一半进行递归搜索,直到达到一个元素(或零元素)的子数组的基本情况。将长度数组一n分为二时,到达一个元素数组之前的总划分数为log2(n)

由于在讨论算法分析时,不同基数的对数实际上是等效的,因此通常可以简化此过程。

2020-07-28