放缩法 —— 渐进记号的相关证明

1. max(f(n),g(n)) max ( f ( n ) , g ( n ) )

max(f(n),g(n))=Θ(f(n)+g(n)) m a x ( f ( n ) , g ( n ) ) = Θ ( f ( n ) + g ( n ) )

证明如下,只需找到常数 c1,c2,n0>0 c 1 , c 2 , n 0 > 0 ,满足:

c1(f(n)+g(n))max(f(n),g(n))c2(f(n)+g(n)) c 1 ( f ( n ) + g ( n ) ) ≤ max ( f ( n ) , g ( n ) ) ≤ c 2 ( f ( n ) + g ( n ) )

不妨设 f(n)g(n) f ( n ) ≥ g ( n ) ,则: c1=12,c2=1 c 1 = 1 2 , c 2 = 1

2. (n+a)b ( n + a ) b

对任意实常量 a a b,其中 b>0 b > 0 ,有:

(n+a)b=Θ(nb) ( n + a ) b = Θ ( n b )

目标是找到 c1,c2,n0 c 1 , c 2 , n 0 ,对所有的 nn0 n ≥ n 0
c1nb(n+a)bc2nb c 1 ⋅ n b ≤ ( n + a ) b ≤ c 2 ⋅ n b

注意到:

n+an+|a|2n,|a|nn+an|a|12n,|a|12n n + a ≤ n + | a | ≤ 2 n , | a | ≤ n n + a ≥ n − | a | ≥ 1 2 n , | a | ≤ 1 2 n

n2|a| n ≥ 2 | a | 时,

(12n)b(n+a)b(2n)b ( 1 2 n ) b ≤ ( n + a ) b ≤ ( 2 n ) b

n0=2|a|,c1=12b,c2=2b n 0 = 2 | a | , c 1 = 1 2 b , c 2 = 2 b

3. logn log ⁡ n

试证明,对于任何 ϵ>0 ϵ > 0 ,都有: logn=O(nϵ) log ⁡ n = O ( n ϵ )

证:我们知道 lnn ln ⁡ n 的增长很慢,因此总存在 M>0 M > 0 ,使得 n>M n > M 时, lnn<ϵn ln ⁡ n < ϵ n

不妨令,这里的 N=eM N = e M ,因此当 n>N n > N lnn>M ln ⁡ n > M ),所以有:

lnlnn<ϵlnnnlnlnn<nϵlnnlnn<nϵ ln ⁡ ln ⁡ n < ϵ ln ⁡ n ⇒ n ln ⁡ ln ⁡ n < n ϵ ln ⁡ n ⇒ ln ⁡ n < n ϵ

4. nn3 ∑ n n 3

T(n)=13+23++n3n3+n3++n3=n4=O(n4) T ( n ) = 1 3 + 2 3 + ⋯ + n 3 ≤ n 3 + n 3 + ⋯ + n 3 = n 4 = O ( n 4 )

5. nlogn ∑ n log ⁡ n

log1+log2++lognnlogn log ⁡ 1 + log ⁡ 2 + ⋯ + log ⁡ n ≤ n log ⁡ n

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

五道口纳什

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

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

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

打赏作者

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

抵扣说明:

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

余额充值