参考博客
算法——算法时间复杂度的计算和大O阶的推导
算法(一)时间复杂度
常用算法时间复杂度的计算方法
算法的时间复杂度和空间复杂度-总结
内容
- 时间复杂度
- 时间复杂度的表示方法
- 时间复杂度的计算方法
时间复杂度
时间复杂度是指程序运行从开始到结束所需要的时间。时间复杂度的计算一般比较麻烦,故在数据结构的研究中很少提及时间复杂度。为了便于比较同一个问题的不同算法,通常做法是,从算法中选取一种对于所研究的问题来说是基本操作的原操作,以该基本操作重复执行的次数做为算法的时间量度。基本操作应是其重复执行次数和算法时间成正比的原操作,多数情况下它是最深层循环内的语句中的操作。算法的执行次数还要随输入集有关,此时要考虑所有可能输入数据的期望值,此时的算法时间复杂度叫平均时间复杂度。有事平均时间复杂度难以确定,此时分析最坏情况下算法的一个上界,此时称为最坏时间复杂度。
时间复杂度的计算方法
- 第一步:用常数1取代运行时间中的所有加法常数。
- 第二步:在修改后的运行次数函数中,只保留最高阶项。
- 第三步:如果最高阶项存在且不是1,则去除与这个项相乘的常数。