经常在算法书籍中看到logN的身影,那么这个对数的底数是多少呢?
Weiss 在他的著作《数据结构与算法分析》中曾指出:在计算机科学中,除非有特殊的说明,否则所有的对数都是以2为底的。
不过无论底数是什么,log级别的渐进意义是一样的。也就是说该算法的时间复杂度的增长与处理数据多少的增长的关系是一样的,证明如下:
我们先考虑O(logx(n))和O(logy(n)),x!=y,我们是在考虑n趋于无穷的情况。求当n趋于无穷大时logx(n)/logy(n)的极限可以发现,极限等于lny/lnx,也就是一个常数(以x为底y的对数),所以我们可以证明,底数对于O(logN)的描述没有影响