x=n; y=0;while(x>=(y+1)*(y+1)) y=y+1;上面这个怎么算它的时间复杂度呢

 我来答
聊娱乐的吃瓜群众
高能答主

2020-10-17 · 真正的娱乐是应着真正的工作要求而发生的。
聊娱乐的吃瓜群众
采纳数:1652 获赞数:86561

向TA提问 私信TA
展开全部

时间复杂度为O(n½),因为while循环在(y+1)²>n时结束,若根号n为整数,则循环根号n次,否则执行根号n-1次。

一个算法执行所耗费的时间,从理论上是不能算出来的,必须上机运行测试才能知道。但我们不可能也没有必要对每个算法都上机测试,只需知道哪个算法花费的时间多,哪个算法花费的时间少就可以了。

并且一个算法花费的时间与算法中语句的执行次数成正比例,哪个算法中语句执行次数多,它花费时间就多。

扩展资料:

时间复杂度常用大O符号表述,不包括这个函数的低阶项和首项系数。使用这种方式时,时间复杂度可被称为是渐近的,亦即考察输入值大小趋近无穷时的情况。

算法复杂度分为时间复杂度和空间复杂度。其作用: 时间复杂度是指执行算法所需要的计算工作量;而空间复杂度是指执行这个算法所需要的内存空间。

算法的复杂性体运行该算法时的计算机所需资源的多少上,计算机资源最重要的是时间和空间(即寄存器)资源,因此复杂度分为时间和空间复杂度。

你的职场小助理
2021-08-11 · TA获得超过3776个赞
知道小有建树答主
回答量:544
采纳率:100%
帮助的人:9.3万
展开全部

时间复杂度为O(n½),因为while循环在(y+1)²>n时结束,若根号n为整数,则循环根号n次,否则执行根号n-1次。

一个算法执行所耗费的时间,从理论上是不能算出来的,必须上机运行测试才能知道。但我们不可能也没有必要对每个算法都上机测试,只需知道哪个算法花费的时间多,哪个算法花费的时间少就可以了。

并且一个算法花费的时间与算法中语句的执行次数成正比例,哪个算法中语句执行次数多,它花费时间就多。

超越多项式时间

如果一个算法的时间T(n) 没有任何多项式上界,则称这个算法具有超越多项式(superpolynomial)时间。在这种情况下,对于所有常量c我们都有T(n) = ω(n),其中n是输入参数,通常是输入的数据量(比特数)。

指数时间显然属于超越多项式时间,但是有些算法仅仅是很弱的超越多项式算法。例如,Adleman-Pomerance-Rumely 质数测试对于n比特的输入需要运行n时间;对于足够大的n,这时间比任何多项式都快;但是输入要大得不切实际,时间才能真正超过低级的多项式。

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
fdy201309
推荐于2018-03-02
知道答主
回答量:7
采纳率:0%
帮助的人:3.6万
展开全部
时间复杂度为O(n½),因为while循环在(y+1)²>n时结束,若根号n为整数,则循环根号n次,否则执行根号n-1次
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友bd75426
2019-01-18 · TA获得超过212个赞
知道小有建树答主
回答量:232
采纳率:100%
帮助的人:52.6万
展开全部
运算n>=(y+1)²
所以时间复杂度是根号n(我记得是取最高复杂就可以了,就是去掉常量表达,所以不用根号n-1)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
542507066
2013-06-08 · TA获得超过467个赞
知道小有建树答主
回答量:164
采纳率:100%
帮助的人:92.9万
展开全部
执行次数是(根号n再根号外减一)次,复杂度T(n)=O(根号n-1)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式