C语言题目:下面程序段的时间复杂度是多少?非常感谢

如题所述

第1个回答  2020-02-27
两个循环最大都是n,所以是n的平方本回答被提问者采纳

分析下列程序段的时间复杂度是___。 i=1: while(i<=n) i=i*2;_百度...
【答案】:C 循环体里面是i=i*2,即每循环一次i值增加一倍,所以执行次数与n之间是以2为底的对数关系,故时间复杂度为O(log2n)。

下面的程序段时间复杂度为()。for(i=1;in;i++)for(j=1;jn;j++)x=x+...
下面的程序段时间复杂度为()。for(i=1;in;i++)for(j=1;jn;j++)x=x+1;A.O(2n)B.O(n)C.O(n^2)D.O(log2n)正确答案:O(n^2)

下面程序段的时间复杂度为( A)。 i=s=0; while(s<n){
i=s=0; \/\/时间复杂度是O(1)while(s<n){ \/\/时间复杂度是O(n)i++; \/\/时间复杂度是O(n)s+=i; \/\/时间复杂度是O(n)}\/\/累计时间复杂度是O(1+n+n+n),即O(n)如有疑问请追问,如您满意请采纳,谢谢

下面程序段的时间复杂度为___。(n>1)
根据规律发现,循环次数由log2n决定,所以复杂度是O(log2n)。

3.下面程序段的时间复杂度是( ) for(i=0;i<n;i++) for(j=1;j<n;j...
m*n for(j=0;j<m;j++) A[i][j]=0;执行了n次 则A[i][j]=0执行了m*n次。

以下程序段的时间复杂度是多少,为什么?
可以使用迭代法来求解。假设求n时复杂度为T(n)。可见算法的递归方程为: T(n) = T(n - 1) + O(1); \/\/这是因为求fact(n),需要先计算出fact(n-1) (复杂度为T(n-1)),再与n相乘(这部计算复杂度为O(1))迭代展开: T(n) = T(n - 1) + O(1)= T(n - 2) + O(1...

下面程序段的时间复杂度是 for(i = 0; i<n-1; i++) if(a[i]
从for语句看 执行n次 if语句不影响 所以时间复杂度T(n)=O(n)

下面程序段的时间复杂度是
这个程序是死循环,不能正常运行的。i = 1;while(i<=N)i = i * 3;它的时间复杂度是O(Log3(N))

面程序段的时间复杂度是( ) i=1; while(i<=n) i=i*3;
i=1,只是赋初值,只赋值一次的。若n=100; i=1; while(i<=n) i=i*3;则循环退出后,i 的值是 243;i 的值的变化过程为:3,9,27,81,243。

分析下面程序段的时间复杂度
三层for循环,时间复杂度为O(n^3)

相似回答