如何评价一个算法的好坏
1、消耗时间的多少(时间复杂度,越少越好)
2、消耗存储空间的多少(空间复杂度)
1.5 时间复杂度
时间复杂度:算法中可执行语句重复执行的频度和,记为T(n)
语句频度:可执行语句再算法(程序)中重复执行的次数
T(n)=O(f(n))
T(n):问题规模的时间函数
n:问题的规模
O:时间数量级
f(n):算法中语句重复执行的次数
计算O的方法
1、根据问题规模写出n的表达式 f(n) = n^2/2 + n/2
2、如果有常数项,将其置为1(注意:f(n)表达式中只有常数项的时候才可以使用)
3、只保留最高项,其他项舍去 f(n) = n^2/2
4、如果最高项系数不为1,将其置为1 f(n) = n^2
T(n) = O(n^2) //平方级