一,渐近紧确界 θ 。
- 数学定义:设 f(n) 和 g(n) 是定义域为自然数集合的函数。如果n→∞ 时,lim f(n) / g(n)
存在,并且等于某个常数c ( c >0 ), 那么 f(n) = θ(g(n))。 - 通俗理解为 f(n) 和 g(n) 和 g(n) 同阶,θ用来表示算法的精确阶。
- f(n) = Θ(g(n)),表示f(n)的复杂度既大于等于g(n)的复杂度,又小于等于g(n)的复杂度,即于g(n)的复杂度相当
- 如 5n +100 = θ(n)
二, 渐近上界 O
- 数学定义: 设 f(n) 和 g(n) 是定义域为自然数集N 上的函数。若存在正数c和n0 ,使得对一切n≥n0 . 都有 0≤f(n)≤cg(n) 成立. 则称f(n) 的渐进的上界是g(n) .
- 通俗的说n满足一定条件范围内,函数 f(n) 的阶不高于函数 g(n) 。
- f(n) = O(g(n)),表示f(n)的复杂度最多与g(n)一个数量级,即小于等于
三, 渐进下界 Ω
- 数学定义:设f(n)和g(n) 是定义域为自然数集N 上的函数。若存在正数c和n0 ,使得对一切n≥n0 , 都有0≤cg(n)≤f(n) 成立,则称f(n) 的 渐进的下界是g(n),记作f(n)=Ω(g(n)) 。
- 通俗的说n满足一定条件范围内,函数f(n)的阶不低于函数g(n)
- f(n) = Ω(g(n)),f(n)的复杂度最少与g(n)一个数量级,即大于等于。
- 根据符号Ω 的定义,用它评估算法的复杂度得到的只是问题规模充分大时的一个下界。这个下界的阶越高,评估越精确,越有价值。
- 例如1:设f(n)=n2+n , f(n)=Ω(n ² ),取 c=1,n0=1即可. f(n) = Ω(100n), 取c=1/100,n0=1 即可.
四,非渐近紧确上界 o
- 数学定义: 设f(n)和g(n)是定义域为自然数集N上的函数。若对于任意正数c,都存在n0>0,使得对一切n>=n0,都有0<=f(n)<cg(n)
- f(n) = o(g(n)),表示f(n)的复杂度要比g(n)的数量级小,即小于
- 例如: f(n)=n² +n,则f(n)=o(n³)
五, 非渐近紧确下界 ω
- 数学定义: 设f(n)和g(n)是定义域为自然数集N上的函数。若对于任意正数c,都存在n0,使得对一切n>=n0,都有0=<cg(n)<f(n)
- f(n) = ω(g(n)),表示f(n)的复杂度要比g(n)的数量级大,即大于
六,简易图