请用自己的话描述什么是算法的时间复杂度?
下面两个实例的时间复杂度是多少:
例1 :
int i=0,s=0;
while(s
人气:324 ℃ 时间:2020-04-05 03:40:22
解答
时间复杂度表面的意思就是代码花费的时间,但是一般使用这个概念的时候,更注重的是随着数据量增长,代码执行时间的增长情况.一般认为一个基本的运算为一次运行算,例如加减乘除判断等等
例1和例2时间复杂度都可以简单认为是o(N),一般用时间复杂度的时候要取一个下限即可,不用那么精确,可能你认为例1是o(2N)而例2是o(n),但实际上这两者对于时间复杂度的作用来说没区别,前面已经说了,时间复杂度关注的是数据量的增长导致的时间增长情况,o(2N)和o(n)在数据量增加一倍的时候,时间开销都是增加一倍(线性增长).
又例如两重循环的时间复杂度是o(N的平方),N扩大一倍,时间复杂度就扩大4倍.所以时间复杂度主要是研究增长的问题,一般效率较好的算法要控制在o(N)或者o(log2N)
推荐
- 再线等.
- 中截面 已知一棱台上底面面积为9,下底面面积为16,求中截面的面积
- 已知x,y,z∈R,且x+y+z=8,x2+y2+z2=24求证:4/3≤x≤3,4/3≤y≤3,4/3≤z≤3.
- 把《牧童》改写成一篇短文.快.
- 【英语填空】求解答!
- 在三角形ABC中,AB=2.BC=4,AC=3的根号乘2.角C=30度.求角B大小
- 某人沿河逆流而上,途中不慎水壶失落,水壶沿河水漂流而下,10分钟后此人发现并立即返身回游,此人回游多少分钟后可以追上水壶?
- 求东北平原,华北平原,南方丘陵的主要环境问题及成因,治理措施.谢谢
猜你喜欢