算法基础-渐进记号

引言:

对于某个比较简单的算法,我们有时候确实能够精确地分析出算法的复杂度,比如算法复杂度为n^2+2n+2,但是事实上并不需要这样,因为当n足够大时,可以忽略掉低阶项和最高次项的系数,因此就引出了“渐近复杂度”,并且用“渐近记号”来表示“渐近复杂度”。今天小编简单介绍3中常用的标准方法来简化算法的渐进分析。

O记号:

大O表示渐进上界,相当于“<=”.O(g(n))={f(n):存在正常数c和N0,使对所有的n>=n0,都有0<=f(n)<=cg(n)}。

如上图所示,对于函数f(n),在x>n0时,恒有cg(n)无限接近且大于f(n).此时,就称cg(n)函数为f(n)函数的渐进上界。

举个栗子:

f(n)=0.5n^2+4n,则可以表示为f(n)=O(n^2)。证明:要使得0<=f(n)<=cg(n)

f(n)=0.5n^2+4n<=cg(n)=cn^2

0.5n+4<=cn

c-0.5>=4/n

存在c=9/2,n0=1,是的对所有的n>=n0都有0<=f(n)<=cg(n).


评论 22
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值