求下列程序段的时间复杂度。<br/>(1)x==0;<br/>for(i=1;i<n;i++)<br/>for(j=i+1;j<=n;j++)<br/>x++:<br/>(2)x=0;<br/>for(i=1;i<n;i++)<br/>for(j=1;j<=n—i;j++)<br/>x++;<br/>(3)inti,j,k;<br/>for(i=0;i<n;i++)<br/>for(j=0;j<n;j++)<br/>{<br/>c[i][j]=0;<br/>for(k=0;k<n;k++)<br/>c[i][j]=A[i][k]*B[k][j]<br/>}

题目类型: 问答题

题目内容

求下列程序段的时间复杂度。
(1)x==0;
for(i=1;ifor(j=i+1;j<=n;j++)
x++:
(2)x=0;
for(i=1;ifor(j=1;j<=n—i;j++)
x++;
(3)inti,j,k;
for(i=0;ifor(j=0;j{
c[i][j]=0;
for(k=0;kc[i][j]=A[i][k]*B[k][j]
}

正确答案

(1)x=0; ①执行1次 for(i=1;i2+n+1,因此,算法的时间复杂度为O(n2)。 (2)x=0; ①执行1次 for(i=1;i2+n+1,因此,时间复杂度为O(n2)。 (3)int i,j,k; for(i=0;i3)。

题目纠错