第四章 串
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第四章串一、选择题
1.下列有关字符串的描述,正确的是()
A.字符串是0个或多个字符构成的有限序列;
B.字符串是0个或多个字母不同的有限序列;
C.字符串中最少要有一个子符;
D.字符串中不能有空格字符。
2. 字符串S="string"中,包含的子串的个数是()
A. 20
B. 21
C. 22
D. 23
3.目标串为T="this is a string",模式串P="string",进行模式匹配,有效位移是()(起始位置为0)。
A. 9
B. 10
C. 11
D. 12
4.已知串S= "string",T="this",执行运算strlen(strcopy(S,T))的结果是()
A. 4
B. 6
C. 10
D. 2
5.目标串为T="this is a string",模式串P="string",进行模式匹配,所有的无效位移数是()
A. 6
B. 10
C. 16
D. 11
6.下列命题正确的是()
A. 空串就是空白串;
B. 空串不是串;
C. 空串是长度为0的字符串
D. 串相等指的是长度相等
7.若字符串采用链式存储,每个字符占用一个字节,每个指针在占用四个字节,则该字符串的存储密度为()
A. 50%
B. 25%
C. 75%
D. 20%
8.当目标串的长度为n,模式串的长度为m时,朴素的模式匹配算法最坏情况下字符的比较次数()
A . n B. n*m C. (n-m+1)*m D. m
9.当目,模式串的长度为m时,朴素的模式匹配算法最好情况下字符的比较次数()
A. n
B. m
C. n+m D n-m
10.字符串是一种特殊的线性表,它与一般线性表的区别是()
A.字符串是一种线性结构;
B.字符串可以进行复制操作;
C.字符串由字符构成并且通常作为整体参与操作;
D.字符串可以顺序存储也可以链式存储。
11.下所述中正确的是()
A.串是一种特殊的线性表 B.串的长度必须大于零
C.串中元素只能是字母 D.空串就是空白串
12.若目标串的长度为n,模式串的长度为[n/3],则执行模式匹配算法时,在最坏情况下的时间复杂度是()
A.O(n/3) B.O(n) C.O(n2) D.O(n3)
13.设有两个串T和P,求P在T中首次出现的位置的串运算称作()
A.联接 B.求子串 C.字符定
位 D.子串定位
14.为查找某一特定单词在文本中出现的位置,可应用的串运算是()
A.插入 B.删除 C.串联
接 D.子串定位
15.已知函数Sub(s,i,j)的功能是返回串s中从第i个字符起长度为j的子串,函数Scopy(s,t)的功能为复制串t到s。若字符串S="SCIENCESTUDY",则调用函数Scopy(P,Sub(S,1,7))后得到( )
A.P="SCIENCE" B.P="STUDY" C.S="SCIENCE"
D.S="STUDY"
二、填空题
1.空串的长度为,空格串(空白串)的长度为。
2.子串的定位运算又称为,通常把主串又称为子串又称为。
3.成功匹配的起始位置称为,匹配失败的起始位置称为。
4.设目标串为T="abccdadeef",模式串P="ade",则第趟匹配成功。
5.已知串T="abccdadeef",P="abccyde",函数strcmp(T,P)的运算结果是。
6.串朴素的模式匹配算法在顺序串和链串上运行,时间复杂度。
7.已知串T="abccdadeef",T中包含以b打头的子串有个。
8.通常在程序设计中,串分为和。
9.按存储结构通常分为和。
10.设s1="GOOD",s2="" ,s3="BYE!",则s1,s2,和s3连接后的结果
是。
三.阅读程序题
1.指出程序功能
int stringcmp(Hstring S,Hstring T)
{int i=0,tag=1;
if (S.length!=T.length) tag=0;
else
while(i if (S.ch[i]==T.ch[i]) i++; else tag=0; return tag; } 2.阅读程序 int stringpatindex (Hstring S,Hstring T) {int i,j,k; for(i=0;i {for(j=i,k=0;k if(S.ch[j]!=T.ch[k]&&|T[k]!='?') break; if(k>=T.length) return i; } return –1; } (1)指出程序功能; (2)设S中存储"there are a string",T中存储"??r"函数的返回值是什么?3.阅读程序指出程序功能 void restring(Hstring S)