第四章串
习题4
一、选择题
1.串是一种特殊的线性表,其特殊性体现在()。
A.可以顺序存储
B.数据元素是一个字符
C.可以连接存储
D.数据元素可以是多个字符
2.有两个串P和Q,求P在Q中首次出现的位置的运算称为()。
A.模式匹配
B.联接
C.求子串
D.求串长
3.设S为一个长度为n的字符串,其中的字符各不相同,则S中的互异的非平凡子串(非空且不同于S本身)的个数为()。
A.n2
B.(n2/2)+(n/2)
C.(n2/2)+(n/2)-1
D.(n2/2)-(n/2)-1
4.设串s1=“ABCDEFG”,s2=“PQRST”,函数concat(x,y)返回x和y串的连接串,subString(s,i,j)返回串s的从序号i的字符开始的j个字符组成的子串,Strlength(s)返回串s的长度,则concat(subString(s1,2,Strlength (s2)),subString(s1,Strlength(s2),2)))的结果串是()。
A.BCDEF
B.BCDEFG
C.BCPQRST
D.BCDEFEF
5.顺序串中,根据空间分配方式的不同,可分为()。
A.直接分配和间接分配
B.静态分配和动态分配
C.顺序分配和链式分配
D.随机分配和固定分配
6.设串S=“abcdefgh”,则S的所有非平凡子串(除空串和S自身的串)的个数是()。
A.8
B.37
C.36
D.35
7.设主串的长度为n,模式串的长度为m,则串匹配的KMP算法时间复杂度是()。
A.O(m)
B.O(n)
C.O(m+n)
D.O(n*m)
8.已知串S=“aaab”,其next数组值为()。
A.0123
B.1123
C.1231
D.1211
二丶填空题
1.在空串和空格串中,长度不为0的是()。
2.空格串是指(),其长度等于()。
3.按存储结构的不同,串可分为()、()和()。
4.C语言中,以字符()表示串值的终结。
5.在块链串中,为了提高存储密度,应该增大()。
6.假设每个字符占1个字节,若结点大小为4个字节的链串的存储密度为50%,则其每个指针占()个字节。
7.串操作虽然较多,但都可以通过五中基本操作()、()、()、()和()构成的最小子集中的操作来实现。
8.设串S=“Ilikecomputer.”,T=“com”,则Length(S)=(),Index(S,T,1)=()。
9.在KMP算法中,next[j]只与()串有关,而与()串无关。
10.字符串“ababaaab”的nextval函数值为()。
11.两个字符串相等的充分必要条件是()。
12.实现字符串复制的函数strcpy为: