算法时间复杂度和空间复杂度
一。时间复杂度
在进行算法分析时,语句总的执行次数T(n)是关于问题规模n的函数,今儿分析T(n)随n的变化情况并确定T(n)的数量。算法的时间复杂度,也就是算法的时间量度,T(n)=O(f(n)),
它表示随问题规模n的增大,算法执行时间的增长率和f(n)的增长率相同,称作算法的渐近时间复杂度,简称时间复杂度。其中f(n)是问题规模n的某个函数。
O(1) 常数阶
O(n) 线性阶
O(n2) 平方阶
1.推导大O阶方法
- 用常数1取代运行时间总的所有加法常数
- 在修改后的运行次数函数中,只保留最高阶项
- 如果最高阶项存在且不是1,则去除与这个项相乘的常数。 得到的结果就是大O阶