算法的时间复杂度表示

程序的时间复杂度经常会用大O符号表示法,即T(n) = O(f(n))
其中n 表示数据量 ,O(f(n))表示执行的指令数跟f(n)成正比

经常用到的几个时间复杂度:

  • 常数阶O(1),即不会因为量的增加,而增加复杂度
  • 线性阶O(n),比如for循环就是一个典型的O(n),会执行n遍
  • 平方阶O(n²),比如双重for循环,即把 O(n) 的代码再嵌套循环一遍,它的时间复杂度就是 O(n²) 了
  • 对数阶O(logn),比如二分查找算法就是O(logn),会2 倍的缩减查找范围,只需 log2^n 次即可跳出循环
  • 线性对数阶O(nlogn),即将O(logn)的循环n遍

log对数函数

一般地,对数函数是以幂(真数)为自变量,指数为因变量,底数为常量的函数。如果ax =N(a>0,且a≠1),那么数x叫做以a为底N的对数,记作x=logaN,读作以a为底N的对数,其中a叫做对数的底数,N叫做真数

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值