Relax1000 数据结构 · 第3、4章 栈、队列、数组、字符串 · 题目¶
第3、4章 栈、队列、数组、字符串¶
本章 64 题;题目册印刷页 12–19。
Q1¶
通常最适合用做链式队列的链表是( )。
- A.带队首指针和队尾指针的循环单链表
- B.带队首指针和队尾指针的非循环单链表
- C.只带队首指针的非循环单链表
- D.只带队首指针的循环单链表
Q2¶
有一个空栈,栈顶指针指向栈顶元素(每个元素占一个存储单元),当前栈顶指针为 1006H,入栈方向为指针增大的方向。执行 Push、Push、Push、Push、Pop、Push、Pop、Push 操作后,栈顶指针的值为( )。
- A.1008H
- B.1009H
- C.1010H
- D.100AH
Q3¶
用字母“I”表示入栈,“O”表示出栈,对于入栈序列为“1234”,入栈出栈可交叉进行,得到出栈序列为“2431”的操作序列为( )。
- A.IIOIOIOO
- B.IIOIIOOO
- C.IIIOOOIO
- D.IOIIOIOO
原页版面片段(用于核对图表、公式、矩阵或代码)

Q4¶
有一个非空栈 S,栈顶指针 sp 指向栈顶元素(每个元素大小占一个存储单元),入栈方向是地址增大的方向,设入栈元素是 x,那么入栈操作是( )。
- A.S[sp ++ ] = x;
- B.S[ ++ sp] = x;
- C.S[sp -- ] = x;
- D.S[ -- sp] = x;
原页版面片段(用于核对图表、公式、矩阵或代码)

Q5¶
若元素“1,2,...,n”依次进入初始为空的栈中,元素入栈后可停留可出栈,直到所有的元素都出栈,若第 k(1≤k<n)个出栈元素是“1”,那么第 k+1 个出栈元素的可能取值有( )种。
- A.k
- B.n - k
- C.n - 1
- D.k + 1
原页版面片段(用于核对图表、公式、矩阵或代码)

Q6¶
一个栈的入栈序列是 1,2,3,...,〔公式/符号见原页版面片段〕,则出栈序列〔公式/符号见原页版面片段〕1,〔公式/符号见原页版面片段〕2,〔公式/符号见原页版面片段〕3,⋯,〔公式/符号见原页版面片段〕中,元素 1 的可能位置有多少个( )。
- A.1
- B.n-1
- C.n
- D.n/2
原页版面片段(用于核对图表、公式、矩阵或代码)

Q7¶
一个栈的入栈序列为 1,2,3,...,n,出栈序列是 P1,P2,P3,...,Pn。若 P2=3,则下列说法正确的是( )。
I. 若 P1=1,P3 的可能取值有 n-2 种
II. 若 P1=2,P3 的可能取值有 n-2 种
III. 若 P1=4,P3 的可能取值有 n-2 种
- A.I、II、III
- B.I、II
- C.I、III
- D.II、III
原页版面片段(用于核对图表、公式、矩阵或代码)

Q8¶
入栈序列为 1234 的出栈序列个数有( )个。
- A.13
- B.14
- C.15
- D.16
原页版面片段(用于核对图表、公式、矩阵或代码)

Q9¶
一个栈(容量为 3)的进栈序列为 1,2,3,4,那么有( )个不同的出栈序列?
- A.15
- B.14
- C.13
- D.12
原页版面片段(用于核对图表、公式、矩阵或代码)

Q10¶
设 n 个元素进栈序列是 P1,P2,...,Pn,输出序列是 1,2,..n,若 Pn=1,则 Pi(1≤i≤n-1)的值是( )。
- A.n-i+1
- B.n-i
- C.i
- D.有多种可能
原页版面片段(用于核对图表、公式、矩阵或代码)

Q11¶
若一个栈的入栈顺序为 1, 2, 3, 4, 5,则不能得到的出栈顺序为( ) 。
- A.4,3,2,1,5
- B.3,2,5,1,4
- C.4,5,3,2,1
- D.3,4,2,5,1
Q12¶
元素 a,b,c,d,e 依次进入初始为空的栈中,若元素进栈后可停留、可出栈,直到所有元素都出栈,则在所有可能的出栈序列中,以元素 d 开头的序列个数是( )。
- A.3
- B.4
- C.5
- D.6
原页版面片段(用于核对图表、公式、矩阵或代码)

Q13¶
采用共享栈的好处是( )。
- A.减少存取时间,降低发生上溢的可能
- B.节省存储空间,降低发生上溢的可能
- C.减少存取时间,降低发生下溢的可能
- D.节省存储空间,降低发生下溢的可能
Q14¶
设有一个顺序共享栈 share[0:n-1],其中第一个栈顶指针 top1 的初值为-1,第二个栈顶指针 top2的初值为 n,则判断共享栈满的条件是( )。
- A.top2-top1 == 1
- B.top1-top2 == 1
- C.top1==top2
- D.top1-top2 == 2
原页版面片段(用于核对图表、公式、矩阵或代码)

Q15¶
中缀表达式 A * (B+C)/(D-E+F)的后缀表达式是( )。
- A.A*B+C/D-E+F
- B.ABC+ * DE-F+/
- C.AB * C+D/E-F+
- D.ABCDEF*+/-+
原页版面片段(用于核对图表、公式、矩阵或代码)

Q16¶
若 A=10、B=4、C=6、D=4、E=15 则后缀表达式“AB*CD+-E+”的值为( )。
- A.45
- B.31
- C.53
- D.65
原页版面片段(用于核对图表、公式、矩阵或代码)

Q17¶
对于后缀表达式 5 8 * 2 7 * 4 - * 8 +所表示的表达式求值,结果为( )。
- A.392
- B.400
- C.568
- D.408
原页版面片段(用于核对图表、公式、矩阵或代码)

Q18¶
利用栈求表达式的值时,设立运算数栈 OPEN。假设 OPEN 只有两个存储单元,则在下列表达式中,不会发生溢出的是( )。
- A.A-B * (C-D)
- B.(A-B) * C-D
- C.(A-B * C)-D
- D.(A-B) * (C-D)
原页版面片段(用于核对图表、公式、矩阵或代码)

Q19¶
中缀表达式转换成后缀表达式,用栈来存放还不能确定运算次序的操作符。栈初始为空,下列中缀表达式中,转后缀表达式过程中用到栈空间最大的是( )。
- A.A+ B - C * (D + E) / F
- B.(A + B ) * ( C - D ) / E + F
- C.A* B - ( C + D ) / ( E - F )
- D.(A + B * ( C - D ) ) / ( E + F)
原页版面片段(用于核对图表、公式、矩阵或代码)

Q20¶
中缀表达式 a+b-c 的前缀表达式为( )。
- A.ab+c-
- B.+-abc
- C.-+abc
- D.+a-bc
原页版面片段(用于核对图表、公式、矩阵或代码)

Q21¶
a * ( b + c ) - d 的前缀表达式是( )。
- A.a b c d * + -
- B.a b c + * d -
- C.- * a + b c d
- D.- + * a b c d
原页版面片段(用于核对图表、公式、矩阵或代码)

Q22¶
以下关于栈和队列应用场景的描述,哪一个是正确的?( )。
- A.在实现函数调用和递归过程中,通常使用队列来存储局部变量和返回地址
- B.在实现图的广度优先搜索(BFS)算法时,通常使用栈作为辅助数据结构
- C.在实现括号匹配问题时,通常使用队列作为辅助数据结构
- D.在实现图的深度优先搜索(DFS)算法时,通常使用栈作为辅助数据结构
Q23¶
用不带头结点的单链表存储队列时,其队头指针指向队头结点,其队尾指针指向队尾结点,则在进行删除操作时( )。
- A.仅修改队头指针
- B.仅修改队尾指针
- C.队头和队尾指针都要修改
- D.队头和队尾指针都可能要修改
Q24¶
某带链的队列初始状态为 front=rear=NULL。经过一系列正常的入队与退队操作后,front=rear。该队列中的元素个数为( )。
- A.1
- B.0
- C.1 或 0
- D.不确定
原页版面片段(用于核对图表、公式、矩阵或代码)

Q25¶
假设用 Q[0..M]实现环形队列,f 作为队头指针指向队头元素的前一个位置,r 作为队尾指针指向队尾元素。若用(r+1)%(M+1) == f 作为队满的标志,则( )。
- A.可用 f == r 作为队空的标志
- B.可用 f > r作为队空的标志
- C.可用(f+1) % (M+1) == r 作为队空的标志
- D.队列中最多可以有 M+1 个元素
原页版面片段(用于核对图表、公式、矩阵或代码)

Q26¶
循环队列放在一维数组 A[0..M-1] 中,front 指向队头元素,rear 指向队尾元素的后一个位置,队列中最多能容纳 M-1 个元素,若当前队列有 k个元素(0<k<M-1),则下列关于入队操作(元素值为value)和出队操作(保存到 q 中),正确的是( )。
- A.入队操作:A[ ++ rear] = value; 出队操作:q = A[front ++ ];
- B.入队操作:A[rear ++ ] = value; 出队操作:q = A[front ++ ];
- C.入队操作:rear = (rear + 1)% M;A[rear]= value; 出队操作:q =A[front];front= (front + 1)% M;
- D.入队操作:A[rear]= value;rear = (rear+ 1) % M; 出队操作:q =A[front];front= (front + 1)% M;
原页版面片段(用于核对图表、公式、矩阵或代码)

Q27¶
循环队列放在一维数组 A[0..M-1] 中,end1 指向队头元素,end2 指向队尾元素。假设队列两端均可进行入队和出队操作,队列中最多能容纳 M-1 个元素。初始时为空。下列判断队空和队满的条件中,正确的是( )。
- A.队空:end1 == end2; 队满:end1 == end2;
- B.队空:end1 == (end2 + 1) mod M; 队满:end1 == (end2 + 1) mod (M - 1)
- C.队空:end1 == (end2 + 1) mod M; 队满:end1 == (end2 + 2) mod M
- D.队空:end1 == end2; 队满:end2 == (end1 + 1) mod M
原页版面片段(用于核对图表、公式、矩阵或代码)

Q28¶
循环队列放在一维数组 A[0,...,M-1]中,front 指向队头元素,rear指向队尾元素的后一个位置。数组大小不可扩展,并且不考虑额外开销的情况下,该队列的剩余可用空间为( )。
- A.M- (rear - front)
- B.M- (rear - front) % (M - 1)
- C.M- (rear - front + M) % M
- D.M - 1 - (rear - front + M) % M
原页版面片段(用于核对图表、公式、矩阵或代码)

Q29¶
若用一个大小为 6 的数组来实现环形队列,rear 作为队尾指针指向队列中尾部元素,front 作为队头指针指向队头元素的前一个位置。当前 rear和 front 的值分别是 0 和 3,当从队列中删除一个元素,再加入两个元素后,rear和 front 的值分别是( )。
- A.1 和 5
- B.2 和 4
- C.4 和 2
- D.5 和 1
原页版面片段(用于核对图表、公式、矩阵或代码)

Q30¶
若循环队列使用数组 A[0...m-1]存放数据元素,已知头指针 front 指向队首元素,尾指针 rear 指向队尾元素后的空单元,则当前队列中的元素个数为( )。
- A.(rear-front+m) % m
- B.rear - front + 1
- C.rear -front
- D.rear-front-1
原页版面片段(用于核对图表、公式、矩阵或代码)

Q31¶
已知循环队列存储在数组 A[m]中,length 表示循环队列中的元素个数,front 指向队首元素,rear 指向队尾元素,则 front所在位置应该是( )。
- A.rear -length
- B.(rear - length + m)% m
- C.(rear+m+1-length)% m
- D.(rear + length -1)% m
原页版面片段(用于核对图表、公式、矩阵或代码)

Q32¶
下列叙述中正确的是( )。
- A.在栈中,栈顶指针的动态变化决定栈中元素的个数
- B.在循环队列中,队尾指针的动态变化决定队列的长度
- C.在循环链表中,头指针和链尾指针的动态变化决定链表的长度
- D.在线性链表中,头指针和链尾指针的动态变化决定链表的长度
Q33¶
一个队列只能从右侧入队,左右侧皆可出队。顺序为 Ka、Kb、Kc、Kd、Ke 的序列入队后,不能得到的输出是( )。
- A.Ka->Kb->Kc->Kd->Ke
- B.Ke->Kd->Kc->Kb->Ka
- C.Ka->Kb->Ke->Kc->Kd
- D.Ke->Ka->Kc->Kb->Kd
原页版面片段(用于核对图表、公式、矩阵或代码)

Q34¶
若某队列允许在其两端进行入队操作,但仅允许在一端进行出队操作,允许入队出队操作交替进行。若入队序列为 a,b,c,d,e,则下列出队序列中,可能得到的有( )。
I.b,a,c,d,e
II.d,b,a,c,e
III.d,b,c,a,e
IV.b,c,a,d,e
- A.I、II、IV
- B.III、IV
- C.I、II
- D.II、IV
原页版面片段(用于核对图表、公式、矩阵或代码)

Q35¶
设一个输入序列为 a,b,c,d,借助一个输出受限的双向队列,所得到的输出序列不可能是( )。
- A.d,a,c,b
- B.c,a,d,b
- C.a,b,c,d
- D.b,d,a,c
原页版面片段(用于核对图表、公式、矩阵或代码)

Q36¶
在输入受限的双端队列中,输入序列是 1,2,...,n,输出序列是〔公式/符号见原页版面片段〕1,〔公式/符号见原页版面片段〕2,〔公式/符号见原页版面片段〕3,〔公式/符号见原页版面片段〕4,若〔公式/符号见原页版面片段〕1 = 〔公式/符号见原页版面片段〕,〔公式/符号见原页版面片段〕2的取值有( )种。
- A.n-1
- B.n-2
- C.2
- D.1
原页版面片段(用于核对图表、公式、矩阵或代码)

Q37¶
有一个队列 Q 和一个栈 S,已知入栈和入队的顺序都是 1,2,3,....,n(n>6),出栈或出队操作可以在任意一次入栈或入队或发生,则下列说法错误的是( )。
- A.任何情况下出队的顺序都为 1,2,3,......,n
- B.如果第一个出栈的数字是 n-2,则第二个出栈的数字可能是 n
- C.如果第一个出栈的数字是 n-3,则第三个出栈的数字可能是 n-6
- D.如果第一个出栈的数字是 n-3,则第三个出栈的数字可能是 n-4
Q38¶
下列关于栈的说法错误的是( )。
- A.可以使用两个队列实现一个后入先出的栈
- B.可以使用一个队列实现一个后入先出的栈
- C.可以使用两个栈实现先入先出队列
- D.可以使用一个栈实现先入先出队列
Q39¶
设栈 S 和队列 Q 的初始状态为空,元素 e1-e6 依次通过栈 S,一个元素出栈后即入队列 Q,若6 个元素出队的序列是 e2、e4、e3、e6、e5、e1,则栈 S 的容量至少应该是( )。
- A.5
- B.4
- C.3
- D.2
原页版面片段(用于核对图表、公式、矩阵或代码)

Q40¶
数组 A[ 0...5 ] [ 0...6 ]的每个元素占 5 个单元,将其按列优先次序存储在起始地址为 1000 的连续内存单元中,则元素 a[5] [5]的地址为( )。
- A.1175
- B.1180
- C.1205
- D.1210
原页版面片段(用于核对图表、公式、矩阵或代码)

Q41¶
二维数组 M的元素是 4个字符(每个字符占一个存储单元)组成的串,行下标 i的范围从 0到 4,列下标 i 的范围从 0 到 5,M 按行存储时元素 M[3,5]的起始地址与 M 按列存储时元素( )的起始地址相同。
- A.M[2, 4]
- B.M[3, 4]
- C.M[3, 5]
- D.M[4, 4]
原页版面片段(用于核对图表、公式、矩阵或代码)

Q42¶
将一个 10×10 的对称矩阵 M 的下三角部分的元素〔公式/符号见原页版面片段〕,〔公式/符号见原页版面片段〕(1 ≤ 〔公式/符号见原页版面片段〕 ≤ 〔公式/符号见原页版面片段〕 ≤ 10)按列优先存入 C 语言的一维数组N中,元素类型为结构体,N的首地址是1000,按字节编址,结构体内部成员构成如下图所示,则元素〔公式/符号见原页版面片段〕6,10的成员 b 所在的地址为( )。struct M{ char a; int b; short c; };
- A.1604
- B.1444
- C.1532
- D.1504
原页版面片段(用于核对图表、公式、矩阵或代码)

Q43¶
设有一个 10 阶的对称矩阵 A,采用压缩存储方式,按行优先存储其下三角部分,且设 A[1] [1]为第一个元素,在 B 中存储于 B[1]中,那么 A[8] [5]在 B 中的存放位置是( )。
- A.13
- B.32
- C.33
- D.40
原页版面片段(用于核对图表、公式、矩阵或代码)

Q44¶
将一个n×n的对称矩阵A的下三角部分按行存放在一个一维数组B中,A[0][0]存放在B[0]中,那么第 i行的对角元素 A[i] [i]在 B 中的存放位置是( )。
- A.(i+3) * i/2
- B.(i+1)* i/2
- C.(2n-i+1)* i / 2
- D.(2n-i-1)* i / 2
原页版面片段(用于核对图表、公式、矩阵或代码)

Q45¶
下 三 角 矩 阵 A(n*n) 按 列 优 先 顺 序 压 缩 在 数 组 S[(n+1) * n/2] 中 , 若 非 零 元 素 〔公式/符号见原页版面片段〕(i ≥ j;i、j、k 从 0 开始编号)存放在 S[k]中(矩阵 A 和数组 S 标号都从 0 开始),则 i,j,k 的关系为( )。
- A.k = i × n + j
- B.k =(2n - j + 1) × j / 2 + i - j
- C.k = (i + 1) × i / 2 + j
- D.k = (2n - j + 1) × j / 2 + i
原页版面片段(用于核对图表、公式、矩阵或代码)

Q46¶
设 A 是 n×n 的对称矩阵,将 A 的对角线及对角线上方的元素按以列为主的次序存放在一维数组 B[1..n(n+1)/2]中,对上述任一元素 aij(1 <= i,j <= n,且 i>=j)在 B 中的位置为( )。
- A.〔公式/符号见原页版面片段〕 − 1 /2 + 〔公式/符号见原页版面片段〕
- B.〔公式/符号见原页版面片段〕 − 1 /2 + 〔公式/符号见原页版面片段〕
- C.〔公式/符号见原页版面片段〕 − 1 /2 + 〔公式/符号见原页版面片段〕 − 1
- D.〔公式/符号见原页版面片段〕 − 1 /2 + 〔公式/符号见原页版面片段〕 − 1
原页版面片段(用于核对图表、公式、矩阵或代码)

Q47¶
稀疏矩阵的三元组存储方法( )。
- A.实现转置运算很简单,只需将每个三元组的行标和列标交换
- B.是一种链式存储方法
- C.矩阵的非零元个数和位置在操作过程中变化不大时较有效
- D.比十字链表法更高效
原页版面片段(用于核对图表、公式、矩阵或代码)

Q48¶
已知一稀疏矩阵的三元组表为(1,2,3)、(1,6,1)、(3,1,5)、(3,2,-1)、(5,4,5)、(5,1,-3),则其转置矩阵的三元组表中第 3 个三元组(都是按行优先排列)为( )。
- A.(2,1,3)
- B.(3,1,5)
- C.(3,2,-1)
- D.(2,3,-1)
原页版面片段(用于核对图表、公式、矩阵或代码)

Q49¶
对稀疏矩阵采用压缩存储,其缺点之一是( )。
- A.无法判断矩阵有多少行多少列
- B.无法根据行列号查找某个矩阵元素
- C.无法根据行列号计算矩阵元素的存储地址
- D.使矩阵元素之间的逻辑关系更加复杂
原页版面片段(用于核对图表、公式、矩阵或代码)

Q50¶
下列关于广义表(a, (b, c), ((d, e), f))的叙述错误的是( )。
- A.表头是 a
- B.表尾是 f
- C.表的长度为 3
- D.表的深度为 3
Q51¶
串'ababaaababaa'的 next 数组值为( )。
- A.01234567899
- B.012121111212
- C.011234223456
- D.0123012322345
原页版面片段(用于核对图表、公式、矩阵或代码)

Q52¶
串'ababaaababaa'的 next 数组为( )。
- A.-1,0,1,2,3,4,5,6,7,8,8,8
- B.-1,0,1,0,1,0,0,0,0,1,0,1
- C.-1,0,0,1,2,3,1,1,2,3,4,5
- D.-1,0,1,2,-1,0,1,2,1,1,2,3
原页版面片段(用于核对图表、公式、矩阵或代码)

Q53¶
串‘ ababaaababaa' 的 nextval 为( )。
- A.0,1,0,1,1,2,0,1,0,1,0,2
- B.0,1,0,1,1,4,1,1,0,1,0,2
- C.0,1,0,1,0,4,2,1,0,1,0,4
- D.0,1,1,1,0,2,1,1,0,1,0,4
原页版面片段(用于核对图表、公式、矩阵或代码)

Q54¶
‘aababaabac’的 nextval 数组为( )。
- A.-1,0,1,0,1,0,1,0,1,2,3,4
- B.-1,0,1,-1,1,-1,0,1,-1,4
- C.-1,-1,1,-1,1,-1,-1,1,-1,4
- D.-1,0,0,1,2,1,2,0,1,0
原页版面片段(用于核对图表、公式、矩阵或代码)

Q55¶
下面关于串匹配算法的叙述中,不正确的是( )。
- A.KMP 算法的特点是在模式匹配过程中指示主串的指针不会变小
- B.设主串长度为 n,模式串长度为 m,当 n≤m时,简单的匹配算法所花的时间代价可能会比KMP 算法少
- C.设主串长度为 n,模式串长度为 m,则串匹配的 KMP 算法的时间复杂度为 O(m+n)
- D.KMP 算法中,求模式串的 next 数组值时,和相匹配的主串有关
原页版面片段(用于核对图表、公式、矩阵或代码)

Q56¶
已知字符串 S 为"aabaacaadaafa",模式串 P 为"aada"。采用 KMP 算法结合(nextval)数组进行匹配,匹配成功时共进行( )次比较。
- A.11
- B.12
- C.13
- D.14
原页版面片段(用于核对图表、公式、矩阵或代码)

Q57¶
下列关于 kmp 算法的说法,错误的是( )。
I.kmp 算法的时间复杂度更优,且在主串与子串有很多“部分匹配“时效率相对于普通匹配算法才提升显著
II.kmp 主要优点是主串不需要回溯,因此 kmp 算法在每一次匹配过程中,主串指针不可能变大。
III.‘aaaa’的 next 数组为‘-1,0,2,3’
IV.失配时只需简单把子串指针 j 的值改变为 next[j]即可
- A.I、III
- B.II、IV
- C.II、III、IV
- D.III、IV
原页版面片段(用于核对图表、公式、矩阵或代码)

Q58¶
下列关于 next 数组和 nextval 数组的说法中,正确的是( )。
- A.当失配发生在模式串 S 的 j 位置,当 S[j]=S[next[j]]时,下一次比较可能会比较成功
- B.当 S[j]≠S[next[j]]时,nextval[j]和 next[j]相等
- C.当下标从 0 开始时,nextval[0]和 nextval[1]始终为-1 和 0
- D.当 S[j]=S[next[j]]时,nextval[j]=next[next[j]]
原页版面片段(用于核对图表、公式、矩阵或代码)

Q59¶
设主串 T='abaabaabacacaabaabcc',模式串 S='abaabc',采用 KMP 算法进行模式匹配,到匹配成功为止,在匹配过程中模式串右滑的总距离是( )(模式串首个字符失配计右滑 1 格)。
- A.10
- B.11
- C.12
- D.13
原页版面片段(用于核对图表、公式、矩阵或代码)

Q60¶
假设输入序列为 8,4,2,5,3,9,1,6,7,利用 n 个大小都为 k 的队列进行出队和入队操作,所有元素全部入队后才可以进行出队操作,得到输出序列为 1,2,3,4,5,6,7,8,9,下列说法正确的是( )。
- A.不考虑 k 的大小,n 至少是 3
- B.保证 k 尽可能小的情况下,n 最小为 4
- C.保证 n 尽可能小的情况下,k 最小为 3
- D.保证 n 尽可能小的情况下,k 最小为 4
原页版面片段(用于核对图表、公式、矩阵或代码)

Q61¶
3 对括号,合法的括号序列有( )种。
- A.3
- B.4
- C.5
- D.6
原页版面片段(用于核对图表、公式、矩阵或代码)

Q62¶
已知初始为空的队列 Q的一端仅能进行出队操作,另外一端既能进行入队操作又能进行出队操作,入队后可立马出队。若 Q 的入队序列是 1、2、3、4、5 则不能得到的出队序列是( )。
- A.1、2、3、4、5
- B.5、4、3、2、1
- C.2、1、5、4、3
- D.5、3、1、2、4
原页版面片段(用于核对图表、公式、矩阵或代码)

Q63¶
设主串 T="abaaabcaabaababca",模式串 S="aabaab",采用修正的 KMP 算法进行模式匹配,到匹配成功时为止,在匹配过程中进行的单个字符间的比较次数是( )。
- A.12
- B.13
- C.14
- D.15
原页版面片段(用于核对图表、公式、矩阵或代码)

Q64¶
下列关于队列说法中正确的有( )。
I.循环队列可以解决“假溢出”问题
II.循环队列一定是顺序存储结构
III.链式队列(单链表)队头设置在链头/链尾出队时间复杂度都是 O(1)
IV.链式队列(单链表)可以根据队尾指针和队头指针计算出队列长度
- A.I、III
- B.I、II
- C.II、III
- D.III、IV
原页版面片段(用于核对图表、公式、矩阵或代码)
