算法竞赛:时间复杂度计算中的log换底公式
这是一篇很实用,甚至有时候可以救命的文章
在算法的 时间/空间复杂度 计算中,经常会因为各种奇奇怪怪的方法,
(比如二分、树状数组/线段树等算法/数据结构。或者你自己捣鼓出来的一些奇奇怪怪的东西)
让你的时间复杂度带上一个优美的 l o g 2 log_2 log2。
(反正我没见过谁闲得去算空间复杂度,还带了个神仙 l o g log log,因为空间限制差不多就是在时间限制里访问最多的空间)
这时候,要计算就成了一个头大的问题。
如果当你按下 Win+R 并输入 calc
+ Enter 之后,就愣住了——
那么这篇文章将会帮你入土。
公式
当
a ∈ R , m , n ∈ Z + a \in R, \ m,n \in Z^+ a∈R, m,n∈Z+
有
l o g m a = l o g n a l o g n m log_m a = \frac{log_n a}{log_n m} logma