编程中的 log(n) 是否等同于 log2(n)?

Does log(n) in programming equivalent to log2(n)?

在二进制搜索中,因为我们一直除以一半,算法将是 log2(n),但它在许多来源中声明是 log(n)。编程中的 log(n) 是否等同于 log2(n)?有什么区别?

是的,在一般编程中,log 指的是 log2,因为它是最常见的对数复杂度。

同样重要的是要注意常量被忽略,例如 3n 和 8n 的复杂度都是 O(n),虽然 O(3n) 快一点,但它们在相同的速率下都会变慢。 特别是对于您的示例,log2(n) 和 log9(n) 都可以表示为 ln(n)/ln(2) 和 ln(n)/ln(9),因此,删除常数因子,您将同时获得 ln (n).