时间频度
一个算法花费的时间与算法中语句执行的次数成正比,一个算法中语句执行的次数称为时间频度或语句频度。
上图中,第一种计算方法的时间频度,第二种计算方法的时间频度。
在计算算法时间频度的时候,常数项、低次项和最高次项的系数都是可以忽略的,如时间频度和随着n值变大,他们的执行曲线是重合的,都可以记为。
算法的时间复杂度
一般情况下,算法中的基本操作语句的重复执行次数是问题规模n的某个函数,用表示,若有某个辅助函数,使得当n无限趋近无穷大的时候,的极限值为不等于零的常数,则称是的同量级函数。记作,其中为算法的渐进时间复杂度,简称时间复杂度
T(n) 不同,但时间复杂度可能相同。 如:T(n)=n²+7n+6 与 T(n)=3n²+2n+2 它们的T(n) 不同,但时间复杂度相同,都为O(n²)。
常见的算法时间复杂度
常数阶 对数阶 线性阶 线性对数阶 平方阶
立方阶 k次方阶 指数阶