概念理解: 时间复杂度 空间复杂度

一. 时间复杂度(time complexity)

在进行算法分析时,语句总执行次数T(n) 是关于问题规模 n 的函数。进而分析执行次数T(n) 随规模 n 的变化情况并确定T(n) 的数量级。

算法的时间复杂度就是算法的时间度量,记作T(n) = O( f(n) ) 。它表示随问题规模 n 的增大,算法的执行时间的增长率和 f(n) 的增长率相同,称作算法的渐进时间复杂度,简称为时间复杂度。其中,f(n) 是问题规模 n 的某个函数。


常见的时间复杂度量级有:

  • 常数阶O(1)
  • 对数阶O(logN)
  • 线性阶O(n)
  • 线性对数阶O(nlogN)
  • 平方阶O(n²)
  • 立方阶O(n³)
  • K次方阶O(n^k)
  • 指数阶(2^n)

上面从上至下依次的时间复杂度越来越大,执行的效率越来越低。

二. 空间复杂度(space complexity)

作为算法所需存储空间的量度,记做S(n) = O( f(n) ) 。其中,n为问题的规模;f(n) 为语句关于 n 的所占存储空间的函数。

空间复杂度比较常用的有:O(1)、O(n)、O(n²)

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值