早教吧作业答案频道 -->数学-->
求下列程序段的时间复杂度,1.for(i=1;i<=n;i++)for(j=1;j<=i;j++)for(k=1;k<=j;k++)x+=delta;2.i=1;j=0;while(i+j<=n)if(i>j)j++;elsei++;
题目详情
求下列程序段的 时间复杂度,
1.
for ( i = 1 ; i < = n ; i++ )
for ( j = 1 ; j < = i ; j++ )
for ( k = 1; k < = j ; k++ )
x+=delta;
2.
i = 1;
j = 0;
while ( i + j < = n )
if ( i > j )
j++;
else
i++;
1.
for ( i = 1 ; i < = n ; i++ )
for ( j = 1 ; j < = i ; j++ )
for ( k = 1; k < = j ; k++ )
x+=delta;
2.
i = 1;
j = 0;
while ( i + j < = n )
if ( i > j )
j++;
else
i++;
▼优质解答
答案和解析
1.
先观察 for ( j = 1 ; j < = i ; j++ )
for ( k = 1; k < = j ; k++ )
可知若i=w,则程序段执行次数为1+2+..+w.
因此定义f(i)=1+2+..+i
那么总的执行次数为
f(1)+f(2)+..+f(n)=1*n+2*(n-1)+3*(n-2)+..+(n-1)*2+n=n^2*(1+n)/2-1*2-2*3-3*4-...-(n-1)*n
不好意思水平有限,只能到这步了,应该是小于n^3的.
2.我们可以发现,每次进while,无论如何i+j会变大一,所以while语句会执行n次
时间复杂度 o(n)
先观察 for ( j = 1 ; j < = i ; j++ )
for ( k = 1; k < = j ; k++ )
可知若i=w,则程序段执行次数为1+2+..+w.
因此定义f(i)=1+2+..+i
那么总的执行次数为
f(1)+f(2)+..+f(n)=1*n+2*(n-1)+3*(n-2)+..+(n-1)*2+n=n^2*(1+n)/2-1*2-2*3-3*4-...-(n-1)*n
不好意思水平有限,只能到这步了,应该是小于n^3的.
2.我们可以发现,每次进while,无论如何i+j会变大一,所以while语句会执行n次
时间复杂度 o(n)
看了 求下列程序段的时间复杂度,1...的网友还看了以下:
设A为三阶矩阵,Aj是A的第j列(j=1,2,3),矩阵B=(A3,3A2-A3,2A1+5A2), 2020-03-30 …
设A为三阶矩阵,aj是A的第j列(j=1,2,3)矩阵B=(a3,3a2-a3,2a1+5a2), 2020-04-13 …
在2x-手下,下j(j-1)j,2+bπ,m+nm-n中,分式有()个.A.1B.2C.3D.4 2020-05-14 …
下面C程序段中count++语句执行的次数为(64)。for(int i=1;i<=11;i*=2) 2020-05-26 …
Dy3+的4F9/2→6H13/2跃迁,其ΔJ=2,属电偶极跃迁,.Δl=0,Δs=0,ΔL=0, 2020-06-12 …
求下列程序段的时间复杂度,1.for(i=1;i<=n;i++)for(j=1;j<=i;j++) 2020-06-15 …
关于的矩阵问题设A为三阶矩阵,Aj是A的第j列(j=1,2,3),矩阵B=(A33A2-A32A1 2020-07-25 …
己知0<a1<1,数列{an}满足:an+1=an-1+nn+an,n∈N+,则满足ai+aj(i 2020-08-02 …
▽²(1/R)=-4πδ(R)中δ(R)是什么,有什么性质?证明安培环路定理中有(1/4π)∫[j 2020-08-02 …
英语翻译一:A=imread('图像.bmp');I=double(A);[m,n]=size(I) 2020-11-01 …