算法的复杂度的渐近表示方法

一个算法的时间复杂度,指算法运行的时间。

假设数据输入规模是n,算法的复杂度可以表示为f(n)的函数

一。大O记号

假设f(n)和g(n)的定义域是非负整数,存在两个正整数c和n0,使得n>n0的时候,f(n)<c*g(n),则f(n)=O(g(n))。可见O(g(n))可以表示算法运行时间的上界。O(g(n))表示的函数集合的函数是阶数不超过g(n)的函数。

二。记号

记号与大O记号相反,他可以表示算法运行时间的下界。(g(n))表示的函数集合的函数是所有阶数超过g(n)的函数。

三。Θ记号

Θ记号介于大O记号和记号之间。他表示,存在正常数c1,c2,n0,当n>n0的时候,c1*g(n)<f(n)<c2*g(n),则f(n)=Θ(g(n))。他表示所有阶数与g(n)相同的函数集合。

四。小o记号

f(n)=o(g(n))当且仅当f(n)=O(g(n))且f(n)(g(n))。也就是说小o记号可以表示时间复杂度的上界,但是一定不等于下界。

五。例子

假设f(n)=2n^2+3n+5,f(n)=O(n^2)或者f(n) = O(n^3)或者f(n)=O(n^4)或者……

f(n)=(n^2)或者f(n)=(n)或者f(n)=(1)

f(n)=Θ(n^2)

f(n) = o(n^3)或者f(n)=o(n^4)或者f(n)=o(n^5)或者……

注:n^2表示n的平方,以此类推。




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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值