函数增长

1、渐进记号

Θ记号
对一个给定的函数g(n),用Θ(g(n))来表示函数的集合:
Θ(g(n)) = {f(n):存在一个正常量c1,c2和n0,使得对所有的n >= n0,有0 <= c1g(n) <= f(n) <= c2g(n)}。即,存在常量c1和c2使得足够大的n,函数f(n)能“夹入”c1g(n)与c2g(n)之间,则f(n)属于集合Θ(g(n))。通常记做f(n) = Θ(g(n))。下面有一个直观的形式:


在上图中,对于在n0及其右边n的所有值,f(n)的值位于或高于c1g(n)且位于或高于c2g(n)。换句话说,对于所有n >= n0,函数f(n)在一个常量因子内等于g(n)。我们称g(n)是f(n)的一个渐进紧确界。以下用一个例子说明:
设:T(n) = n² + n,这里可以记为T(n) = Θ(n²)。因为存在一个值,使得  c1n² <= n² + n <= c2n²。即c1n <= n + 1 <= c2n。当c1 = 1,c2 > 1时等式成立,则记做 T(n) = Θ(n²)。

O记号

上面讲了Θ是渐进紧确界,它给出了函数的上界和下界。而O记号则是只表示上界,即渐进上界。对于给定函数g(n),则用O(g(n))表示。对于O(g(n))有
O(g(n)) = {f(n):存在一个正常量c和n0,使得对所有的n >= n0,有0 <= f(n) <= cg(n)}
对于O(g(n))有下图:


Ω记号

上面讲了Θ是渐进紧确界,它给出了函数的上界和下界。而O记号则是只表示上界,即渐进下界。对于给定函数g(n),则用Ω(g(n))表示。对于Ω(g(n))有 
Ω(g(n)) = {f(n):存在一个正常量c和n0,使得对所有的n >= n0,有0 <= cg(n) <= f(n)}
对于O(g(n))有下图


定理:对于任意两个函数f(n)和g(n),我们有f(n) = Θ(g(n)),当且仅当f(n) = O(g(n))且f(n) = Ω(g(n))

o记号和ω记号

由O和Ω记号提供的上下界,可能是渐进紧确,也可能不是。例如2n² = O(n²)是紧确界,单2n = O(n²)却不是。我们使用o记号来表示一个非渐进紧的上界。ω记号表示一个非渐进紧的下界。
o(g(n)) = {f(n):对于任意正常量c > 0,存在常量n0 > 0,使得对所有的n >= n0,有0 <= f(n) <= cg(n)}
例如:2n = o(n²),但是2n² != o(n²)
ω(g(n)) = {f(n):对于任意正常量c > 0,存在常量n0 > 0,使得对所有的n >= n0,有0 <= cg(n) <= f(n)}
例如:n² / 2 = ω(n),但是n² / 2 != ω()

对于各种记号,有以下性质
传递性
                                f(n) = Θ(g(n))  且  g(n) = Θ(h(n))        蕴涵  f(n) = Θ(h(n))
                                f(n) = O(g(n))  且  g(n) = O(h(n))        蕴涵  f(n) = O(h(n))
                                f(n) = Ω(g(n))  且  g(n) = Ω(h(n))        蕴涵  f(n) = Ω(h(n))
                                f(n) = o(g(n))  且  g(n) = o(h(n))         蕴涵  f(n) = o(h(n))
                                f(n) = ω(g(n))  且  g(n) = ω(h(n))       蕴涵  f(n) = ω(h(n))

自反性
                                                            f(n) = Θ(f(n))
                                                            f(n) = O(f(n))
                                                            f(n) = Ω(f(n))

对称性
                                            f(n) = Θ(g(n))  当且仅当  g(n) = Θ(f(n))
转置对称性
                                            f(n) = O(g(n))  当且仅当  g(n) = Ω(f(n))
                                            f(n) = o(g(n))  当且仅当  g(n) = ω(f(n))









  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值