- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第四章串习题_据结构
习题四 串
一、单项选择题
1.下面关于串的的叙述中,哪一个是不正确的?( )
A.串是字符的有限序列 B.空串是由空格构成的串
C.模式匹配是串的一种重要运算 D.串既可以采用顺序存储,也可以采用链式存储
2.串是一种特殊的线性表,其特殊性体现在( )。
A.可以顺序存储 B.数据元素是一个字符
C.可以链接存储 D.数据元素可以是多个字符
3.串的长度是指( )
A.串中所含不同字母的个数 B.串中所含字符的个数
C.串中所含不同字符的个数 D.串中所含非空格字符的个数
4.设有两个串p和q,其中q是p的子串,求q在p中首次出现的位置的算法称为( )
A.求子串 B.联接 C.匹配 D.求串长
5.若串S “software”,其子串的个数是( )。
A.8 B.37 C.36 D.9
二、填空题
1.含零个字符的串称为______串。任何串中所含______的个数称为该串的长度。
2.空格串是指__ __,其长度等于__ __。
3.当且仅当两个串的______相等并且各个对应位置上的字符都______时,这两个串相等。一个串中任意个连续字符组成的序列称为该串的______串,该串称为它所有子串的______串。
4.INDEX(‘DATASTRUCTURE’, ‘STR’) ________。
5.模式串P ‘abaabcac’的next函数值序列为________。
6.下列程序判断字符串s 是否对称,对称则返回1,否则返回0;如 f abba 返回1,f abab 返回0; int f 1 __ ______ int i 0,j 0; while s[j] 2 ___ _____; for j--; i j s[i] s[j]; i++,j-- ; return 3 ___ ____ 7.下列算法实现求采用顺序结构存储的串s和串t的一个最长公共子串。
void maxcomstr orderstring *s,*t; int index, length
int i,j,k,length1,con;
index 0;length 0;i 1;
while i s.len j 1;
while j t.len if s[i] t[j] k 1;length1 1;con 1; while con if 1 _ length1 length1+1;k k+1; else 2 __; if length1 length index i; length length1; 3 __ __; else 4 ___; 5 __ 三、应用题
1.描述以下概念的区别:空格串与空串。
2.设有 A ” ”,B mule,C old,D my,试计算下列运算的结果 注:A+B是CONCAT(A,B)的简写,A 的 含有两个空格 。
a A+B
b B+A
c D+C+B
d SUBSTR B,3,2
e SUBSTR C,1,0
f LENGTH A
g LENGTH D
h INDEX B,D
i INDEX C,d
j INSERT D,2,C
k INSERT B,1,A
l DELETE B,2,2
m DELETE B,2,0
3.设主串S ‘xxyxxxyxxxxyxyx’,模式串T ‘xxyxy’。请问:如何用最少的比较次数找到T在S中出现的位置?相应的比较次数是多少?
4.给出字符串‘abacabaaad’在KMP算法中的next和nextval数组。
5.已知:s =“(xyz)+*”,t =“(x+z)*y”。试利用联结、求子串和置换等基本运算,将 s 转化为 t 。
四、算法设计题
1.在顺序串上实现串的判等运算EQUAL S,T 。
2.在链串上实现判等运算EQUAL S,T 。
3.若S和T是用结点大小为1的单链表存储的两个串(S、T为头指针),设计一个算法将串S中首次与串T匹配的子串逆值。
4. 以顺序存储结构表示串,设计算法。求串S1)的各个字符均相同,则称之为等值子串。如果输入字符串S,以“!”作为结束标志。串S中不存在等值子串,则输出信息“无等值子串”,否则求出(输出)一个长度最大的等值子串。例如:若S “abc123abc123!”,则输出“无等值子串”;若S “abceebccadddddaaadd!”,则输出“ddddd”。)
5.写一个递归算法来实现字符串逆序存储,要求不另设串存储空间。
第四章 串
一、单项选择题
1.B
2. B
3.B
4.C
5. C
二、填空题
1.空、字符
2. 由空格字符(ASCII
文档评论(0)