一、算法复杂度
1. 时间复杂度
执行算法所需要的计算工作量。
2. 空间复杂度
执行这个算法所需要的内存空间。
二、时间复杂度
算法花费的时间与算法中语句的执行次数成正比例,语句执行次数越多,花费时间越多,时间复杂度越高。
1.时间频度T(n)
一个算法中的语句执行次数。
2.渐进时间复杂度O(f(n))
若有某个辅助函数f(n),使得当n->∞,lim T(n)/f(n)=k,k!=0,则称f(n)是T(n)的同数量级函数。记作T(n)=O(f(n))。
3.大O推导
- 留下幂最高项
- 去掉最高项前面的系数
- 加法法则:总复杂度等于量级最大的那段代码的复杂度
- 乘法法则:嵌套代码的复杂度等于嵌套内外代码复杂度的乘积