算法的基本概念
1. 什么是算法
解决特定问题的步骤就是算法
2. 算法的5个特性
有穷性、确定性、可行性、输入、输出
3. 算法的评价
分为时间复杂度(消耗的时间)、空间复杂度(消耗的空间)
4. 时间复杂度
用 T(n) 来表示时间复杂度。
一般有3种情况:Tmax 、Tmin 、Tavg ,如果没有特别提及,一般看作Tmax
一般 T(n) 算出来是比较复杂的,所以引入 O(n) 大O表达式
5. 大O表达式
如果存在一个 n0 和 C,使得当 n > n0 时,f(n) <= cg(n),那么就称 g(n) 是 f(n) 的上界,记作 f(n)= O(g(n))
按定义我们不难得到 2n3+n2+1024 = O(n3) = O(n4) = O(n5) = ...
6. Ω表达式(欧米茄) 和 θ表达式(西塔)
Ω表达式就是跟大O表达式相反,表示 f(n) 的下界,记作 f(n) = Ω(g(n))
θ表达式表示确界,当 g(n) 即是 f(n) 的上界,又是 f(n) 的下界时,g(n) 就是 f(n) 的确界,记作 f(n) = θ(g(n))
一般情况下,大O表达式,我们都认为是θ表达式。