程序段for(i=n-1;i>=0;i--)for(j=1;jA[j+1]A[j]与A[j+1]对换;其中n为正整数,则最
举一反三
- 程序段 for (i=n;i>0;i--) for (j=1;j[i;j++) if (a[j]]a[j+1]) Swap(A[j],A[j+1]); //将A[j]与A[j+1]对换 其中 n为正整数,则在最坏情况下算法的时间复杂度是( )
- 程序段for (i=n;i>0;i--) for (j=1;j[i;j++) if (a[j]]a[j+1]) Swap(A[j],A[j+1]);//将A[j]与A[j+1]对换 其中n为正整数,则在最坏情况下算法的时间复杂度是() A: O(n) B: O(nlogn) C: O(n3) D: O(n2)
- 补全下面代码段,使得它的功能是对数组a中的前N个数据进行非逆序排序(从小到大)。那横线处可以填的语句是( )for ( i = 1; i<N; i++) for( j = 0; (1) ; j++) if( (2) ) {int t = a[j]; a[j] = a[j+1]; a[j+1] = t; } A: (1) j<N-i (2) a[j] < a[j+1] B: (1) j<N-i (2) a[j] > a[j+1] C: (1) j<N-i-1 (2) a[j] < a[j+1] D: (1) j<N-i-1 (2) a[j] > a[j+1]
- 针对如下三个实现矩阵求和的不同函数:int a[N][N];int sumA( int a[N][N] ){ int i, j; int sum = 0; for ( i = 0; i < N; i++ ) for ( j = 0; j < N; j++ ) sum += a[i][j]; return sum;}int sumB( int a[N][N] ){ int i, j; int sum = 0; for ( j = 0; j < N; j++ ) for ( i = 0; i < N; i++ ) sum += a[i][j]; return sum;}int sumC( int a[N][N] ){ int i, j; int sum = 0; for ( j = 0; j < N; j+=2 ) for ( i = 0; i < N; i+=2 ) sum += ( a[i][j] + a[i+1][j] + a[i][j+1] + a[i+1][j+1] ); return sum;}当N足够大的时候,三个函数的运行时间t1、t2、t3符合下列哪种情况?()[/i][/i][/i][/i] A: t1 > t2 > t3 B: t3 > t1 > t2 C: t2 > t3 > t1 D: t3 > t2 > t1
- 程序段 for (i=n;i>0;i--) for (j=1;ja[j+1]) Swap(A[j],A[j+1]); //将A[j]与A[j+1]对换 其中 n为正整数,则在最坏情况下算法的时间复杂度是