渐进符号

分析算法时间复杂度时,主要关心的是影响最大的操做算法

主要的几个渐进符号(及其表明的意思)以下:函数

O      Ω     Θ      o      ω

<=   >=    =     <      >

大写O符号

大O符号是给定执行时间或次数的上限,即小于等于

f(n)=O(g(n)),这里f(n)是分析出来算法的执行次数的函数spa

O的定义:当且仅当c>0 and n0>0,使0<=f(n)<=c(g(n)) 成立,对于全部的 n>=n0时间

cg(n)便是函数f(n)的上限。

Ex:  f(n)=n^3+O(n^2)

means there is fun h(n)∈O(n^2)

           such that f(n)=n^3+h(n)

Ex:  n^2+O(n)=O(n^2)

means for any f(n)O(n)

            there is an h(n)∈O(n^2)

            such  that n^2+f(n)=h(n)

Ω符号

Ω符号是给定执行时间或次数的下限,即最小须要的时间或

Ω的定义:当且仅当c>0 and n0>0,使0<=c(g(n))<= f(n)成立,对于全部的 n>=n0

Ex:√n = Ω(lgn)

根号下n至少是lgn的常数倍

1

Θ符号

Θ符号是大O和Ω的交集,即等于(=)

Θ(g(n)) =  O(g(n)) ∩ Ω(g(n))

1

1

1

1

1

相关文章
相关标签/搜索