一、算法
1、概念:算法是对特定问题求解的一种描述(或步骤),是指令的特定序列
2、程序=数据结构+算法
3、算法的特性:
有穷性:算法是有穷的,程序是无穷的 |
确定性:每条指令有确定的含义,相同的输入只有相同的输出 |
可行性:算法可以通过代码实现 |
算法一般有输入和输出 |
好的代码也应具有:正确性、可读性、健壮性、高效率和低存储
二、时间复杂度
算法时间开销(T)和问题规模(n)的关系
T(n)=3n+3 | T(n)=O(n) |
T(n)=2n^2+3n | T(n)=O(n^2) |
T(n)=6n^3+n^2 | T(n)=O(n^3) |
结论:只保留最高项,且系数为1
常见算法的时间复杂度:
三、空间复杂度
算法所耗费的存储空间(S)和问题规模(n)的关系
S(n)=O(g(n))