第10讲 串 课堂互动 显示答案 | 返回首页

作者:欧新宇(Xinyu OU)

最后更新:2023-10-03


【课前自测10】

1. 设有两个串S1和S2,求S2在S1中首次出现的位置的运算称为( )。
A. 求子串
B. 判断是否相等
C. 模式匹配
D. 连接

2. 已知串S='aaab',其next数组值为( )。
A. 0123
B. 0112
C. 0231
D. 1211

3. KMP算法的特点是在模式匹配时指示主串的指针( )。
A. 不会变大
B. 不会变小
C. 都有可能
D. 无法判断

4. 设主串的长度为n,子串的长度为m,则简单的BF模式匹配算法和KM算法的时间复杂度为( )。
A. O(mn) O(m+n)
B. O(n) O(m+n)
C. O(mn) O(n)
D. O(m+n) O(m+n)

5. 串是一种特殊的线性表,其特殊性体现在( )。
A. 可以顺序存储
B. 数据元素是一个字符
C. 可以链式存储
D. 数据元素可以是多个字符

6. 在执行BF算法时,最坏的情况为每趟匹配比较,不等的字符出现的位置均为( )。
A. 模式串的最末字符
B. 主串的首字符
C. 模式串的首字符
D. 主串的最末字符

【课堂互动10.1】串的基本概念和BF匹配算法

1. 若串S=“structure”,那么以“t”为首到子串有( )个。
A. 11
B. 12
C. 24
D. 36

2. 下面关于串的叙述中,( )是不正确的。
A. 串是字符的有限序列
B. 空串是由空格构成的串
C. 模式匹配是串的一种重要运算
D. 串既可以采用顺序存储,也可以采用链式存储

3. 串的长度是指( )。
A. 串中所含不同字母的个数
B. 串中所含字符的个数
C. 串中所含不同字符的个数
D. 串中所含非空格字符的个数

4. 串的模式匹配是指()。
A. 判断两个串是否相等
B. 对两个串进行大小比较
C. 查找某字符在主串中第一次出现的位置
D. 查找某子串在主串中第一次出现的第一个字符的位置

5. 设主串S="abccdcdccbaa",子串T="cdcc",用BF算法匹配第( )次可以匹配成功。
A. 5
B. 6
C. 7
D. 8

【课堂互动10.2】KMP匹配算法

1. 串'ababaaababaa'的next数组值为( )。
A. 01234567899
B. 012121111212
C. 011234223456
D. 0123012322345

2. 串'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

3. 串'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

4.【2015统考真题】已知字符串S为'abaabaabacacaabaabcc',模式串t为'abaabc'。
采用KMP算法进行匹配,第一次出现“失配”(s[i]≠t[j])时,i=j=5,则下次开始匹配时,i和j的值分别是( )。
A. i=1,j=0
B. i=5,i=0
C. i=5,i=2
D. i=6,j=2

5.【2019统考真题】设主串T='abaabaabcabaabc',模式串S='abaabc',采用KMP算法进行模式匹配,到匹配成功时为止,在匹配过程中进行的单个字符间的比较次数是( )。
A. 9
B. 10
C. 12
D. 15

【扩展练习10】

1. 若串 S = "software",其子串的数目是( )。
A. 8
B. 37
C. 36
D. 9

2. 串"ababaabab"的nextval数组为( )。
A. 010104101
B. 010102101
C. 010100011
D. 010101011

3.(填空题)已知模式串 t="abcaabbabcab",试写出用KMP算法求得的每个字符对应的next和nextval数组值。next =_______,nextval = ________。

4.(应用题)设有字符串S="aabaabaabaac",P="aabaac"。
1) 求出P的next数组。
2) 若S做主串,P做模式串,试给出KMP算法的匹配过程。

第10讲 串 课堂互动 显示答案 | 返回首页