在严为民老师的《数据结构》中,如何写时间复杂度,比如logn,这个对数函数的底数是多少?

算法中日志级的时间复杂度是由于分而治之思想的使用,而这个基数直接由分而治之的复杂度决定。如果采用二分法,则基数为2,基数为3,以此类推。但是,无论基数是多少,日志级别的递进意义都是一样的。也就是说,算法时间复杂度的增长和处理数据的增长是一样的。

扩展数据:

时间复杂度的计算方法

(1)一般来说,算法中基本运算重复的次数是问题规模n的函数,用T(n)表示。如果有一个辅助函数f(n)使得T(n)/f(n)的极限值为一个不等于零的常数(当n趋近于无穷大时),则称f(n)为T(。

设T(n)=O(f(n))称为O(f(n))

是算法的渐进时间复杂度,简称时间复杂度。

(2)计算时间复杂度时,先找出算法的基本运算,然后根据相应的语句确定其执行次数,再找出T(n)的同一个数量级。

(3)用pascal更容易理解,简单的计算方法是:看看有多少for循环。如果只有一个for循环,时间复杂度为O(n),第二个为O(n ^ 2),以此类推。如果有二分法,那就是O(logn),二分法比如快幂,二分法搜索。如果用二分法嵌套for循环,时间复杂度为O(。

百度百科-时间复杂度