算法学习——时间复杂度分析与渐进符号

时间复杂度

时间复杂度:算法执行运算的操作数丢掉低阶数,再去掉所有系数。
例如

a = 1#操作数1
b = 2#操作数1
c = 3#操作数1
for i in n:#操作数n
	print(a,b,c)#操作数1	

加起来得到O(n*1+3),即时间复杂度为O(n)。
去掉低阶数的原因是因为高阶项才是函数主要影响因数,好比统计家庭财产时,算上的是你父母的存款而不是你的零花钱。
常见时间复杂度排序:
O(1) < O(logn) < O(n) < O(nlogn) <O(n2) <O(n3) < O(2n) < O(n!) < O(nn)
之间的关系如克,千克,斤,公斤,吨,越到后面越大。

时间复杂度计算法则

法则计算方法
for循环循环体 * 循环次数
嵌套的for循环循环体 * 循环体 * 循环次数
顺序语句各个语句运行时间之和
if/else语句总的时间复杂度按照时间复杂度最大的路径计算
函数函数由于本身是由基本语句构成,计算时间复杂度的时候需要另算

渐进符号

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值