Skip to content

3.函数的增长

3.1 渐进记号

3.1.1 Θ 记号

用于描述函数渐近紧确界的数学符号,同时给出函数的上界和下界,表示函数在足够大的输入规模下 的精确增长趋势

  1. 定义: 对于函数 f(n)g(n) ,若存在正常数 c1c2n0 ,使得所有 nn0 满足:
c1g(n)f(n)c2g(n)

则称 f(n)g(n)渐近紧确界,记作:

f(n)=Θ(g(n))
  1. 直观理解:
  • 上下界同时存在: Θ 记号表示 f(n) 的增长速度,既不会快于 g(n) 的某个倍数, 也不会慢于 g(n) 的某个倍数。
  • 排除低阶项: 例如,若 f(n)=3n2+2n+1 ,则f(n)=Θ(n2),因为当 n 足够大时, n2 主导了整体增长。

3.1.2 O 记号

用于描述函数渐近上界的数学符号,表示函数在足够大的输入规模下的最坏增长趋势

  1. 定义: 对于函数 f(n)g(n) ,若存在正常数 cn0 ,使得所有 nn0 满足:
f(n)cg(n)

则称 f(n)g(n)渐近上界,记作:

f(n)=O(g(n))
  1. 直观理解: O 记号表示 f(n) 的增长速度,不会快于 g(n) 的某个倍数。
  2. 核心特点:
    • 忽略低阶项:Θ 记号,O 记号也忽略低阶项。
    • 隐藏常数因子: O 记号通常不关心具体常数(例如, 2n100n 均为 O(n))。
    • 非紧确上界: O 记号允许上界比实际增长更宽松(例如,f(n)=n 既是 O(n) 也是 O(n2))。

3.1.3 Ω 记号

用于描述函数渐近下界的数学符号,表示函数在足够大的输出规模下的最佳增长趋势。帮助我们理解 算法在最优情况平均情况下的最优效率,与 O (上界)记号形成互补。

  1. 定义: 对于函数 f(n)g(n) ,若存在正常数 cn0 ,使得所有 nn0 满足:
cg(n)f(n)

则称 f(n)g(n)渐近下界,记作:

f(n)=Ω(g(n))
  1. 直观理解: Ω 记号表示 f(n) 的增长速度至少为 g(n) 的某个倍数 c。关注的是最优情况平均情况下的增长趋势。
  2. 核心特点:
    • 忽略低阶项:Θ 记号,Ω 记号也忽略低阶项。
    • 隐藏常数因子:O记号, Ω 记号也不关心具体常数。
    • 非紧确下界: Ω 记号允许下界比实际增长更宽松(例如,f(n)=n 既是 Ω(n) 也是 Ω(n2))。

3.1.4 总结

三者为包含关系:

Ω(g(n))Θ(g(n))O(g(n))
记号名称约束条件直观理解示例
OBig-Of(n)cg(n)最多增长到()3(n2)=O(n2)
ΩBig-Omegaf(n)cg(n)至少增长到()3(n2)=Ω(n2)
ΘBig-Thetac1g(n)f(n)c2g(n)精确增长到(=)3(n2)=Θ(n2)