算法分析
算法时间复杂度分析
结论:
- 算法函数中的常数可以忽略。
- 算法函数中最高次幂的常数因子可以忽略。
- 算法函数中最高次幂越小,算法效率越高。
.
.
大O记法
- 用常数1取代运行时间中的所有加法常数。
- 在修改后的运行次数中,只保留最高次幂。
- 如果最高次幂存在,且常数因子不为1,则去除这个次幂相乘的常数。
.
.
- 线性阶:O(n)
- 平方阶:O(n^2)
- 立方阶:O(n^3)
- 对数阶:O(logn)
- 常数阶:O(1)
函数调用的时间复杂度分析:和在一个方法中的时间复杂度计算相同,注意是调用的方法和本身方法两者结合算出时间复杂度
如果一个算法是根据运行时才确定时间复杂度那我们在设计时要按照最坏情况去考虑,也就是运行时可能出现的最大时间复杂度!