算法复杂度小记

本文主要书写了本人对于算法复杂度的一些理解,并辅以一些例子进行说明


算法复杂度的概念

复杂度的计算理念

  • 我们不对某个算法进行精确的分析,只需要初略地知道它的增长趋势就可以了。
  • 平常我们分析算法复杂度的时候,通常有分析最坏情况和平均情况两种选项,由于最坏情况易于分析,所以我们一般分析算法复杂度的最坏情况。

复杂度的渐进表示法

  • 上界

T(n)=O(f(n))

上述式子表示当N足够大的时候,f(n)函数是T(n)的上界。

  • 下界

T(n)=Ω(h(n))

上述式子表示当N足够大的时候,h(n)函数是T(n)的下界。

  • 上界和下界同时成立

T(n)=Θ(g(n))

上述式子表示当N足够大的时候,g(n)函数同时是T(n)的上界和下界。

  • 在上面三个式子中,T(n)表示的都是某个算法的时间复杂度,它们也可以应用在算法的空间复杂度S(n)上。
  • 一个算法的上界和下界函数可能有无穷多个,为了和现实的情况更贴合,我们在使用上述式子表示算法的复杂度的时候,通常使用最小的上界最大的下界

复杂度的增长趋势比较

logN<n<nlogN<n2<n3<...<O(
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值