第4章-串(习题).doc
《第4章-串(习题).doc》由会员分享,可在线阅读,更多相关《第4章-串(习题).doc(8页珍藏版)》请在咨信网上搜索。
1、第四章 串一、选择题1.下面关于串得得叙述中,哪一个就是不正确得?( )(2 分)A.串就是字符得有限序列 B.空串就是由空格构成得串C.模式匹配就是串得一种重要运算 D.串既可以采用顺序存储,也可以采用链式存储2 若串S1=ABCDEFG, S2=9898 ,S3=#,S4=012345,执行concat(replace(S1,substr(S1,length(S2),length(S3),S3),substr(S4,index(S2,8),length(S2) 其结果为( )(7 分)A.ABC#G0123 B.ABCD#2345 C.ABC#G2345 D.ABC#2345E.ABC#G
2、1234 F.ABCD#1234 G.ABC#012343.设有两个串p 与q,其中q 就是p 得子串,求q 在p 中首次出现得位置得算法称为( )A.求子串 B.联接 C.匹配 D.求串长(2 分)4.已知串S=aaab,其Next 数组值为( )。(2 分)A.0123 B.1123 C.1231 D.12115.串 ababaaababaa 得next 数组为( )。A.9 B.2 C.6 D.456.字符串ababaabab 得nextval 为( )A.(0,1,0,1,04,1,0,1) B.(0,1,0,1,0,2,1,0,1)C.(0,1,0,1,0,0,0,1,1) D.(0
3、,1,0,1,0,1,0,1,1 )(2 分)7.模式串t=abcaabbcabcaabdab,该模式串得next 数组得值为( ),nextval 数组得值为 ( )。A.0 1 1 1 2 2 1 1 1 2 3 4 5 6 7 1 2 B.0 1 1 1 2 1 2 1 1 2 3 4 5 6 1 1 2C.0 1 1 1 0 0 1 3 1 0 1 1 0 0 7 0 1 D.0 1 1 1 2 2 3 1 1 2 3 4 5 6 7 1 2E.0 1 1 0 0 1 1 1 0 1 1 0 0 1 7 0 1 F.0 1 1 0 2 1 3 1 0 1 1 0 2 1 7 0 1(2
4、 分)8.若串S=software,其子串得数目就是( )。(2 分)A.8 B.37 C.36 D.99.设S 为一个长度为n 得字符串,其中得字符各不相同,则S 中得互异得非平凡子串(非空且不同于S本身)得个数为( )。A.2n1 B.n2 C.(n2/2)+(n/2) D.(n2/2)+(n/2)1 E、 (n2/2)(n/2)1 F、其她情况10.串得长度就是指( )(3 分)A.串中所含不同字母得个数 B.串中所含字符得个数C.串中所含不同字符得个数 D.串中所含非空格字符得个数二、判断题1.KMP 算法得特点就是在模式匹配时指示主串得指针不会变小。( ) (1 分)2.设模式串得长
5、度为m,目标串得长度为n,当nm 且处理只匹配一次得模式时,朴素得匹配(即子串定位函数)算法所花得时间代价可能会更为节省。( ) (1 分)3.串就是一种数据对象与操作都特殊得线性表。( )(1 分)二、填空题1.空格串就是指_(1)_,其长度等于_(2)_。(2 分)2.组成串得数据元素只能就是_。 (1 分)3.一个字符串中_称为该串得子串 。(1 分)4.INDEX(DATASTRUCTURE, STR)=_。 (2 分)5.设正文串长度为n,模式串长度为m,则串匹配得KMP 算法得时间复杂度为_。6.模式串P=abaabcac得next 函数值序列为_。(2 分)7.字符串ababaa
6、ab得nextval 函数值为_。(2 分)8.设T 与P 就是两个给定得串,在T 中寻找等于P 得子串得过程称为_(1)_,又称P 为_(2)_。(16/6 分)9.串就是一种特殊得线性表,其特殊性表现在_(1)_;串得两种最基本得存储方式就是_(2)_、_(3)_;两个串相等得充分必要条件就是_(4)_。 (4 分)10.两个字符串相等得充分必要条件就是_。(2 分)11.知U=xyxyxyxxyxy;t=xxy;ASSIGN(S,U);ASSIGN(V,SUBSTR(S,INDEX(s,t),LEN(t)+1);ASSIGN(m,ww)求REPLACE(S,V,m)= _。 (5 分)1
7、2.实现字符串拷贝得函数 strcpy 为:void strcpy(char *s , char *t) /*copy t to s*/ while (_) (3 分)13.下列程序判断字符串s 就是否对称,对称则返回1,否则返回0;如 f(abba)返回1,f(abab)返回0;int f(1)_)int i=0,j=0;while (sj)(2)_;for(j; ij & si=sj; i+,j);return(3)_) (3 分)14.下列算法实现求采用顺序结构存储得串s 与串t 得一个最长公共子串。程序(a)PROCEDURE maxstr(VAR s,t : orderstring;
8、 VAR index,length : integer);VAR i,j,k,length1:integer; con:boolean;BEGINindex :=0; length :=0; i :=1;WHILE(i=s、len) DOj:=1;WHILE (jlength) THEN index:=i; length:=length1; (3)_;ELSE (4)_;(5) _;END;程序(b)void maxstr(orderstring *s,*t; int index, length)int i,j,k,length1,con;index=0;length=0;i=1;while
9、(i=s、len)j=1;while(jlength) index=i; length=length1; (3)_;else (4) _;(5) _ (10 分)15.完善算法:求KMP 算法中next 数组。PROC get _next(t:string,VAR next:ARRAY1、t、len OF integer);BEGINj:=1; k:=(1)_; next1:=0;WHILE jt、len DOIF k=0 OR t、chj=t、chk THEN BEGIN j:=j+1; k:=k+1; nextj:=k;ENDELSE k:=(2)_;END;(4 分)16.下面函数ind
10、ex 用于求t 就是否为s 得子串,若就是返回t 第一次出现在s 中得序号(从1 开始计),否则返回0。例如:s=abcdefcdek,t=cde,则indse(s,t)=3, index(s,aaa)=0 。已知t,s 得串长分别就是mt,msFUNC index(s,t,ms,mt);i:=1;j:=1;WHILE (ims) AND (jmt THEN return (5)_; ELSE return (6)_ENDF;(6 分)17.阅读下列程序说明与pascal 程序,把应填入其中得( )处得字句写在答题纸上。程序说明:本程序用于判别输入得字符串就是否为如下形式得字符串:W&M$ 其
11、中,子字符串M 就是子字符串W 得字符反向排列,在此假定W 不含有字符&与字符$,字符&用作W 与M 得分隔符,字符$用作字符串得输入结束符。例如,对输入字符串ab&ba$、11&12$、ab&dd$、&$,程序将分别输出Ok、(就是),No、(不就是)。程序PROGRAM accept(input,output);CONST midch=&; endch=$;VAR an:boolean; ch:char;PROCEDURE match(VAR answer: boolean);VAR ch1,ch2:char; f:boolean;BEGINread(ch1);IF ch1endchTHE
12、N IF (1)_THEN BEGIN match(f);IF f THEN BEGIN read(ch2); answer:=(2)_ END ELSE answer:=falseENDELSE (3)_ELSE (4)_END;BEGINwriteln(Enter String:);match(an);IF an THEN BEGIN(5)_ IF (6)_ THEN writeln(Ok、) ELSE writeln(No、)ENDELSE writeln(No、)END、 (15 分)18.试利用下列栈与串得基本操作完成下述填空题。initstack(s) 置s 为空栈;push(s,
13、x) 元素x 入栈;pop(s) 出栈操作;gettop(s) 返回栈顶元素;sempty(s) 判栈空函数;setnull(st) 置串st 为空串;length(st) 返回串st 得长度;equal(s1,s2) 判串s1 与s2 就是否相等得函数;concat(s1,s2) 返回联接s1 与s2 之后得串;sub(s,i,1) 返回s 中第i 个字符;empty(st) 判串空函数FUNC invert(pre:string; VAR exp:string):boolean;若给定得表达式得前缀式pre 正确,本过程求得与它相应得表达式exp 并返回“true”,否则exp为空串,并返
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 习题
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【精****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【精****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。