程序时间复杂度计算 i=-1; s=0; while(s<n) { i=i+

程序时间复杂度计算 i=-1; s=0; while(s<n) { i=i+,第1张

时间复杂度为O(n^05),即根号n的数量级。该程序求解的是:s=1+3+5+7++(2k+1),且使得s-(2k+1)<n≤s。而s=(1+(2k+1))(k+1)/2=(k+1)^2,k+1则为上述等差数列的项数,也是你的程序中while循环执行的趟数。求出k<根号n≤(k+1),因此循环执行根号n趟。则T(n)=2+5n^05+1,解释一下T(n)这个式子,第一项2表示最开始的2个赋值 *** 作;第二项中n^05表示循环的趟数,前面的系数5表示每趟有5个基本 *** 作:一次循环条件判断、两次加法、两次赋值;第三项的1表示最后的一次循环条件判断(因不满足条件但没执行该趟循环)。所以T(n)=5n^05+3,所以O(T(n)=O(5n^05+3)=O(n^05)。

运行次数:9次

时间复杂度:O(1)

因为这个程序循环次数只是有限次,其他赋值以及输出 *** 作时间复杂度只按1算,加起来还是等于一个常数,故时间复杂度为O(1);

如果将s<10改为 s<n,那么时间复杂度将会是O(n)

O(n),一重循环,并且循环次数和n线性相关。

要计算的话就是:

循环中的基本语句执行次数T(n)=2(n-1)=2n-2,

存在正的常数c,n0使得对于任意n>=n0时有T(n)<=cn,

所以这个时间复杂度是O(n)

以上就是关于程序时间复杂度计算 i=-1; s=0; while(s<n) { i=i+全部的内容,包括:程序时间复杂度计算 i=-1; s=0; while(s<n) { i=i+、计算以下程序的运行次数和时间复杂度,主要说一下详细过程,我是C语言数据结构的初学者、麻烦告知一下怎么算下列程序段的时间复杂度,谢谢!等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9795898.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存