算法:
1.是有限指令的集合
2.算法可以没有输入,但至少必须有一个输出
3.不会无限次执行
4.指令明确无歧义
算法评价指标:
空间复杂度S(n):该程序再算法运行期间占用的储存空间的大小
时间复杂度T(n):算法得出结果的耗费时间长短
考虑算法效率一般从以下两个角度:
1.最坏情况复杂度Tworst(n)
2.平均复杂度Tavg(n)
当程序中确认到有n2的复杂度时,应联想到调整为nlogn降低复杂度
for循环复杂度:循环执行次数*循环体代码复杂度
if-else复杂度:1个条件+2个执行结果三个代码块中间,最大的那个复杂度就是这个if-else的复杂度