令 A = {t | P[0, t) = P[j - t, j)} ,即A是所有使得P[0,j)的前缀与后缀相等的长度t,如何计算next[j]?
A: next[j] = min A
B: next[j] = max A
C: next[j] = |A| (A中的元素个数)
D: next[j] = max A - |A|
A: next[j] = min A
B: next[j] = max A
C: next[j] = |A| (A中的元素个数)
D: next[j] = max A - |A|
举一反三
- 在通过next[j]计算next[j+1]的递推过程中next[j+1] == next[j] + 1当且仅当: A: j = 0 B: P[j] = P[next[j] - 1] C: T[j] = P[j] D: P[j] = P[next[j]]
- 以下程序输出正确的是_______ amovep(int *p,int (*a)[3],int n) { int i,j; for(i=0;i<n;i++) for(j=0;j<n;j++){ *p=a[i][j];p++;} } main() {int *p,a[3][3]={{1,3,5}, {2,4,6}}; p=(int*)mallox(100) amovep)p,a,3); printf("%d%d\n",p[2],p[5]);free(p) }[/i] A: 56 B: 25 C: 34 D: 程序错误
- 如果f1(t) ←→F1(jω), f2(t) ←→F2(jω),那么有[ ]式成立。 A: [a f1(t) + b f2(t) ] ←→ [a F1(jω) *b F2(jω) ] B: [a f1(t) + b f2(t) ] ←→ [a F1(jω) - b F2(jω) ] C: [a f1(t) + b f2(t) ] ←→ [a F1(jω) + b F2(jω) ] D: [a f1(t) + b f2(t) ] ←→ [a F1(jω) /b F2(jω) ]
- 以下程序段执行后p的值是( )。int a[3][3]={3,2,1,3,2,1,3,2,1}; int j,k,p=1;for(j=0;j<2;j++)for(k=j;k<3;k++)p*=a[j][k];
- 在KMP算法中,用next 数组存放模式串的部分匹配信息﹐模式串位j与目标串i比较,如果两字符相等时,则j的位移方式是 A: j++ B: j=0 C: j=next[j] D: j=i-j+1