什么是算法的时间复杂度?

请用自己的话描述什么是算法的时间复杂度?下面两个实例的时间复杂度是多少:例1:inti=0,s=0;while(s<n){i++;s+=i;}例2:i=1;while(i... 请用自己的话描述什么是算法的时间复杂度?

下面两个实例的时间复杂度是多少:

例1 :
int i=0,s=0;
while(s<n)
{
i++;
s+=i;
}

例2:

i=1;
while(i<=n)
{
i=i*3;
}

小弟新手,请多指教,谢谢!
展开
 我来答
zhao61
推荐于2017-09-13 · TA获得超过1459个赞
知道小有建树答主
回答量:1065
采纳率:0%
帮助的人:851万
展开全部
时间复杂度表面的意思就是代码花费的时间,但是一般使用这个概念的时候,更注重的是随着数据量增长,代码执行时间的增长情况。一般认为一个基本的运算为一次运行算,例如加减乘除判断等等
例1和例2时间复杂度都可以简单认为是o(N),一般用时间复杂度的时候要取一个下限即可,不用那么精确,可能你认为例1是o(2N)而例2是o(n),但实际上这两者对于时间复杂度的作用来说没区别,前面已经说了,时间复杂度关注的是数据量的增长导致的时间增长情况,o(2N)和o(n)在数据量增加一倍的时候,时间开销都是增加一倍(线性增长)。

又例如两重循环的时间复杂度是o(N的平方),N扩大一倍,时间复杂度就扩大4倍。所以时间复杂度主要是研究增长的问题,一般效率较好的算法要控制在o(N)或者o(log2N)
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
骄闽雪3630
推荐于2018-09-12 · TA获得超过3427个赞
知道小有建树答主
回答量:2833
采纳率:0%
帮助的人:1386万
展开全部
是说明一个程序根据其数据n的规模大小 所使用的大致时间和空间
说白了 就是表示 如果随着n的增长 时间或空间会以什么样的方式进行增长


for(int i = 0; i < n;++i)
;
这个循环执行n次 所以时间复杂度是O(n)

for(int i = 0; i< n;++i)
{
for(int j = 0; j< n;++j)
;
}
这嵌套的两个循环 而且都执行n次
那么它的时间复杂度就是 O(n^2)

时间复杂度只能大概的表示所用的时间
而一些基本步骤 所运行的时间不同 我们无法计算 所以省略


for(int i = 0;i < n;++i)
a = b;

for(int i = 0;i < n;++i)
;
这个运行的时间当然是第二个快 但是他们的时间复杂度都是 O(n)
判断时间复杂度看循环
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
硬币小耗
推荐于2017-09-05 · 知道合伙人教育行家
硬币小耗
知道合伙人教育行家
采纳数:4962 获赞数:133682
英语成绩优异,大一学年四六级就全部通过。一直兼职家教,经验丰富,暑假还在新东方担任过助教

向TA提问 私信TA
展开全部
  计算机科学中,算法的时间复杂度是一个函数,它定量描述了该算法的运行时间。这是一个关于代表算法输入值的字符串的长度的函数。时间复杂度常用大O符号表述,不包括这个函数的低阶项和首项系数。使用这种方式时,时间复杂度可被称为是渐近的,它考察当输入值大小趋近无穷时的情况。
  算法复杂度分为时间复杂度和空间复杂度。其作用: 时间复杂度是指执行算法所需要的计算工作量;而空间复杂度是指执行这个算法所需要的内存空间。(算法的复杂性体现在运行该算法时的计算机所需资源的多少上,计算机资源最重要的是时间和空间(即寄存器)资源,因此复杂度分为时间和空间复杂度)。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式