首先介绍一些符号及其概念。
Θ:渐近紧确界
定义:Θ(g(n)) = { f(n):存在正常量c1,c2和n0,使得对所有n≥n0,有0 ≤ c1g(n) ≤ f(n) ≤ c2g(n)}
也就是说,当n超过某个值时,f(n)夹在c1g(n)和c2g(n)之间。
比如我们证明2n^2-3n的渐近确界时Θ(n^2):c1n^2<<2n^2-3n<<c2n^2,求解不等式时,先确定n0,再确定c。
即 c1≤ 2-3/n -> 我们令n0=5,则c1≤7/5,也就是说,存在c1小于等于7/5,对于n≥n0,上述不等式成立,n^2时其渐近紧确界。
O:渐近上界
定义:O(g(n)) = { f(n) :存在正常量c和n0,使得对所有n≥n0,有0≤f(n)≤cg(n) }
定义很明确,f(n)函数在n大于某个值时小于cg(n),通常用来描述算法运行的最坏时间。
Ω:渐近下界
定义:Ω(g(n)) = { f(n):存在正常量c和n0,使得对所有n≥n0,有0 ≤ cg(n) ≤ f(n)}
一个简单的定理:对任意两个函数f(n)和g(n),我们有f(n) = Θ(g(n)),当且仅当f(n) =