算法复杂度分析符号 θ
- 在算法中最常见的符号是
θ
符号, 对于公式来说,就是去掉低阶项,忽略高阶项前的常数因子,
例如公式 3n3+90n2−5n+234=θ(n3) - 也就是说当
n⟶∞
的时候,低阶项和常数项将无法动摇函数式的结果
例如 θ(n2)<θ(n3) - 实例分析 – 插入排序 链接
- 外层循环 : T(n)=∑j=1n−1θ(j)
- 内层循环 : 考虑最坏的情况 θ(j)=j−1
- 所以 T(n)=∑j=1n−1j−1=θ(n2)
- 实例分析 – 归并排序链接
-
T(n)={θ(1)2T(n/2)+θ(n)if n = 1if n > 1
θ(n) 表示将子问题合并所花费的时间
结果为 : T(n)=θ(n)(lgn+1)⟶T(n)=cn(lgn+1)⟶T(n)=nlgn
-
T(n)={θ(1)2T(n/2)+θ(n)if n = 1if n > 1