概述
研究算法就是用更少的时间和更少内存去完成需求。
有关算法的时间耗费分析就称为:算法的时间复杂度分析
有关算法的空间耗费分析就称为:算法的空间复杂度分析
影响程序运行时间的要素
一般程序的运行所需的时间主要是以下4个因素
1.算法采用的策略
2.编译产生的代码质量
3.问题的输入规模
4.机器执行的指令的速度
一般我们只能对第一条和第三条来进行人为的操控
3.算法的时间复杂度分
在这里需要明确一个事情就是核心代码执行次数=执行时间
用O()来体现时间复杂度
假设根据输入规模n,核心代码执行次数为f(n)
这里有几个规则
1.用常数1来代替f(n)中加法的常数
2.根据条件1修改后保留最高阶
3.根据条件1修改后,如果最高阶存在,去除这个项的常数
如f(n)= 3 时间复杂度为O(1)
f(n)= 3n + 7 时间复杂度为O(n)
f(n) = n^2 + 7n + 5 时间复杂度为O(n^2)