A: D[i-1,j]表示X[i]对求D[i,j]无贡献的情况,D[i,j-1]表示Y[j]对求D[i,j]无贡献的情况
B: D[i-1,j]表示对X[1..i-1]和Y[1..j]求最长公共子序列
C: D[i-1,j]和D[i,j-1]表示的含义相同
D: D[i,j]有可能和D[i,j-1]相等,也有可能大,如果D[i,j]大,则最多大1
举一反三
- 对于序列X和Y,用D[i,j]表示X[1..i]和Y[1..j]的最长公共子序列的长度,当X[i]=Y[j]时,D[i,j]=D[i-1,j-1]+1,递推式中“+1”表示什么( )?[/i] A: 最长公共子序列中最后的元素,为相同的X[i](Y[j]) B: X的最后一个元素 C: Y的最后一个元素 D: 无实际含义
- 下列程序段的时间复杂度是( )。for (i=1; i<=m1; ++i) for (j=1; j<=n2; ++j) Q[i][j] = 0;for (i=1; i<=m1; ++i) for (j=1; j<=n2; ++j) for (k=1; k<=n1; ++k) Q[i][j] += M[i][k] * N[k][j];[/i][/i][/i] A: O(m1*n2) B: O(m1*n2*n1) C: O(m1+n2*n1) D: O(m1*n2+n1*n2) E: O(m1*n2+n1*n2+m1*n1)
- n阶对称矩阵a满足a[i][j]=a[j][i],i,j=1…n,用一维数组t存储时,t的长度为____,当i=j,a[i][j]=t[2],i>;j,a[i][j]=t[3],i<;j,a[i][j]=t[4]。[/i][/i][/i][/i][/i]
- 试分析下面代码段的时间复杂度: for(i=2;i<=n;++i) for(j=2;j<=i-1;++j) { ++x; a[i][j]=x; }[/i]
- 已知列表x=[1,2,3]和y=[4,5,6],表达式[(i,j) for i,j in zip(x,y) if i==3]的值为(______ )。
内容
- 0
试分析下面代码段的时间复杂度: for(i=2;i<=n;++i) for(j=2;j<=i-1;++j) { ++x; a[i][j]=x; }[/i] A: O(1) B: O(n) C: O(n^2) D: O(n^3)
- 1
若二维数组a 有m 列,则在a[i][j]前的元素个数为( )。[/i] A: j ∗ m + i B: i ∗ m + j C: i ∗ m + j – 1 D: i ∗ m + j + 1
- 2
以下程序的输出结果是 main() int b[3][3]=0,1,2,O,l,2,0,1,2,i,j,t=1; for(i=0;i<3;i++) for(j=i;j<=i;j++) t=t+b[i][b[j][j]]; printf("%d\n",t);[/i] A: 3 B: 4 C: 1 D: 9
- 3
【单选题】运行下面的程序,得到的输出是()#include<stdio.h>int main() { int i, j; for(i=1;i<=2;i++) for(j=1;j<=2;j++) printf("i=%d, j=%d ",i,j);} A. i=1, j=1 i=1 , j=2 i=2 , j=1 i=2 , j=2 B. i=1, j=1 i=2 , j=1 i=1 , j=2 i=2 , j=2 C. i=1, j=1 i=2 , j=2 i=1 , j=1 i=2 , j=2 D. i=1, j=1 i=1 , j=1 i=2 , j=2 i=2 , j=2
- 4
若二维数组a有m列,则在数组元素a[i][j]前的元素个数为()[/i] A: j * m + i B: i * m + j C: i * m + j - 1 D: j * m + i - 1