作业帮 > 综合 > 作业

请用自己的话描述什么是算法的时间复杂度?

来源:学生作业帮 编辑:搜搜考试网作业帮 分类:综合作业 时间:2024/04/28 21:52:20
请用自己的话描述什么是算法的时间复杂度?
下面两个实例的时间复杂度是多少:
例1 :
int i=0,s=0;
while(s
请用自己的话描述什么是算法的时间复杂度?
时间复杂度表面的意思就是代码花费的时间,但是一般使用这个概念的时候,更注重的是随着数据量增长,代码执行时间的增长情况.一般认为一个基本的运算为一次运行算,例如加减乘除判断等等
例1和例2时间复杂度都可以简单认为是o(N),一般用时间复杂度的时候要取一个下限即可,不用那么精确,可能你认为例1是o(2N)而例2是o(n),但实际上这两者对于时间复杂度的作用来说没区别,前面已经说了,时间复杂度关注的是数据量的增长导致的时间增长情况,o(2N)和o(n)在数据量增加一倍的时候,时间开销都是增加一倍(线性增长).
又例如两重循环的时间复杂度是o(N的平方),N扩大一倍,时间复杂度就扩大4倍.所以时间复杂度主要是研究增长的问题,一般效率较好的算法要控制在o(N)或者o(log2N)