算法分析之-渐进记号

渐进记号

渐进记号分为:Θ()、Ω()、ω()、O()、o()


1. Θ记号

f(n)=Θ(g(n))f(n) = \Theta(g(n))f(n)=Θ(g(n))

存在正常数C1,C2和n0,使得对所有的n≥n0,存在正常数C_1,C_2和n_0,使得对所有的n \ge n_0,C1,C2n0使nn0
都有0≤C1∗g(n)≤f(n)≤C2∗g(n),f(n)与g(n)在数量级上相等都有0 \le C_1*g(n) \le f(n)\le C_2*g(n),f(n)与g(n)在数量级上相等0C1g(n)f(n)C2g(n)f(n)g(n)

我们试着证明:我们试着证明::
12n2−3n=θ(n2)\frac12n^2 - 3n = \theta(n^2)21n23n=θ(n2)

第一步,我们必须确定有第一步,我们必须确定有
C1n2≤12n2−3n≤C2n2C_1n^2\le\frac12n^2-3n\le C_2n^2C1n221n23nC2n2

第二步,我们将两边除以n2第二步,我们将两边除以n^2n2
C1≤12−3n≤C2C_1\le \frac12 - \frac3n\le C_2C121n3C2

C2≥1/2可以使任意n≥1,不等式右边成立C_2\ge1/2可以使任意n\ge1,不等式右边成立C21/2使n1
C1≤1/14可以使任意n≥7,不等式左边成立C_1\le1/14可以使任意n\ge7,不等式左边成立C11/14使n7


2. O记号

f(n)=O(g(n))f(n) = O(g(n))f(n)=O(g(n))

存在正常数C,n0,使得对所有的n≥n0,都有0≤f(n)≤C∗g(n)存在正常数C,n_0, 使得对所有的n\ge n_0, 都有0\le f(n) \le C * g(n)Cn0,使nn0,0f(n)Cg(n)
f(n)在数量级小于等于g(n)f(n)在数量级小于等于g(n)f(n)g(n)


3. o记号

f(n)=o(g(n))f(n) = o(g(n))f(n)=o(g(n))

存在正常数C,n0,使得对所有的n≥n0,都有0≤f(n)<c∗g(n);f(n)在数量级小于g(n)存在正常数C,n_0, 使得对所有的n\ge n_0, 都有0\le f(n) \lt c * g(n);f(n)在数量级小于g(n)Cn0,使nn0,0f(n)<cg(n);f(n)g(n)

e.g.:2n=ο(n2);2n2≠o(n2)2n = \omicron(n^2);2n ^2 \neq o(n ^2)2n=ο(n2);2n2=o(n2)


4. Ω记号

f(n)=Ω(g(n))f(n) = Ω(g(n))f(n)=Ω(g(n))

存在正常数C,n0,使得对所有的n≥n0,都有0≤C∗g(n)≤f(n);f(n)在数量级大于等于g(n)存在正常数C,n_0, 使得对所有的n\ge n_0, 都有 0 \le C * g(n) \le f(n); f(n)在数量级大于等于g(n)Cn0,使nn0,0Cg(n)f(n);f(n)g(n)


5. ω记号

f(n)=ω(g(n))f(n) = ω(g(n))f(n)=ω(g(n))

存在正常数C,n0,使得对所有的n≥n0,都有0≤c∗g(n)<f(n);f(n)在数量级大于g(n)存在正常数C,n_0, 使得对所有的n\ge n0, 都有 0 \le c * g(n) \lt f(n); f(n)在数量级大于g(n)Cn0,使nn0,0cg(n)<f(n);f(n)g(n)


性质

  1. 传递性
  2. 自反性
  3. 对称性
  4. 转置对称性
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Hack Rabbit

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值