1.大O表示法:
- 定义: 如 果 存 在 正 常 数 c 和 n 0 使 得 当 N ≥ n 0 时 T ( N ) ≤ c f ( N ) , 则 记 为 T ( N ) = O ( f ( N ) ) . 如果存在正常数c和n_0使得当N\ge n_0时T(N)\le cf(N),则记为T(N)=O(f(N)). 如果存在正常数c和n0使得当N≥n0时T(N)≤cf(N),则记为T(N)=O(f(N)).
- 比如: T ( N ) = 1000 N 和 f ( N ) = N 2 T(N)=1000N和f(N)=N^2 T(N)=1000N和f(N)=N2比较:
- 当 N ≥ 1000 N\ge1000 N≥1000 时, 1000 N ≤ 1 N 2 1000N\le 1N^2 1000N≤1N2
- 当 N ≥ 10 时 , 10 N ≤ 100 N 2 当N\ge10 时,10N\le100N^2 当N≥10时,10N≤100N2
- 比较的是相对增长率
- T ( N ) = O ( f ( N ) ) 表 示 函 数 T ( N ) 的 增 长 率 不 高 于 f ( N ) T(N)=O(f(N))表示函数T(N)的增长率不高于f(N) T(N)=O(f(N))表示函数T(N)的增长率不高于f(N)
- 比如: T ( N ) = 1000 N 和 f ( N ) = N 2 T(N)=1000N和f(N)=N^2 T(N)=1000N和f(N)=N2比较:
- 举例:
- N 3 的 增 长 率 高 于 N 2 , 所 以 可 以 写 成 : N 2 = O ( N 3 ) N^3的增长率高于N^2,所以可以写成:N^2=O(N^3) N3的增长率高于N2,所以可以写成:N2=O(N3)
- N 2 的 增 长 率 等 于 2 N