《数据结构与算法分析》——C语言描述 第二版 学习笔记二
第二章 算法分析
算法(algorithm):是为求解一个问题需要遵循的、被清楚地指定的简单指令集。
一、数学基础
四个关于相对增长率的数学定义:(贯穿全书的四个重要概念)
- 定义:如果存在正常数c和n0,使得当N>=n0时,T(N)<=cf(N),则记为 T(N) = O(f(N))。
- 定义:如果存在正常数c和n0,使得当N>=n0时,T(N)>=cg(N),则记为 T(N) = Ω(g(N))。
- 定义:T(N) = θ(h(N)),当且仅当T(N) = O(h(N)) 且 T(N) = Ω(h(N))。
- 定义:如果T(N) = O(p(N)) 且 T(N) != θ(p(N)),则T(N) = o(p(N))。
附上书上的原定义截图:
简单的,比较好理解的说法如下:
- O(N):增长率小于等于f(N),不快于,是一个上界。
- Ω(N):增长率大于等于f(N),不慢于,是一个下界。
- θ(N):增长率等于
- o(N):增长率小于(不同于O(N)