



全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验报告题目:编制字符串匹配的KMP算法班级:OOO 姓名:XXX 学号:ASDFGHJK 完成日期:20XX.XX.XX1、 需求分析1. 字符串匹配试求子串位置的定位函数,普通的字符串匹配函数时间复杂度较大达到了O(m*n),而KMP算法则可以将时间复杂度简化到O(m+n)。2. 本演示程序中,字符串的元素为除换行、退格等字符外的其他字符,字符串长度=MAXSIZE,字符串的输入的形式为string0储存长度,从string1开始存储字符,并以0做结束标志,字符串中字符顺序不限,且允许出现重复字符,不能出现非法字符。输入两个字符串后,输入一个整形数pos,pos=0数据关系:R1=|ai-1,aiD,i=1,2,.,n基本操作:GetString(SString &S)初始条件:存在串的指针。操作结果:生成一个由键盘键入的字符串S。strlen(SString S)初始条件:串S存在。操作结果:返回S的元素个数,称为串的长度。Index(SString S,SString T,int pos)初始条件:串S和T存在,T是非空串,1=posGetString()-strlenth() -index_KMP-get_next()3、 调试分析1. 在GetString()中开始用了gets(S),S0没有用来记录字符串的长度,导致在后续的程序中运算出错。2. next函数在某些情况下存在缺陷。例如模式aaaaa在和主串aaabaaaab匹配时,当i=4、j=4,时不匹配,需要进行多余的三次比较,实际上,因为模式中第1、2、3、个字符和第4个字符都相等,因此不再需要和主串中第四个字符进行比较,而可以将模式一气向右滑动4个字符的位置直接进行i=5、j=1时的字符比较。这就是说,若按上述定义得到nextj=k,而模式中pj=pk,则当主串中字符si和pj不比较不等时,不需要在和pk进行比较,而直接和pnextk进行比较,即此时的nextj应该和nextk相同。由此得到修正算法:void get_nextval(SString T,int nextval)四、测试结果1.S=abababab T=aba pos=1 :1;2.S=abababab T=aba pos=6 :0;五、附录源程序文件清单:#define MAXSTRLEN 255#include#include#includeint nextMAXSTRLEN+1,nextvalMAXSTRLEN+1;typedef char SStringMAXSTRLEN+1;int Index_KMP(SString S,SString T,int pos)int i,j=1;i=pos;while(i=S0&jT0)return i-T0;else return 0;void get_next(SString T,int next)int i=1,j;next1=0;j=0;while(iT0)if(j=0|Ti=Tj)+i;+j;nexti=j;else j=nextj;void get_nextval(SString T,int nextval)int i=1,j=0;nextval1=0;while(iT0)if(j=0|Ti=Tj)i+;j+;if(Ti!=Tj)nextvali=j;else nextvali=nextvalj;else j=nextvalj;void GetString(SString &S)gets(S+1);S0=strlen(S+1);int main()SString S,T;int pos;GetString(S);Get
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中国邮政集团2025厦门市秋招网申开放题题库及答案
- 白酒行业2025年消费者饮酒场景营销策略与品牌形象塑造
- 2025年园区教育培训租赁及职业培训服务合同
- 白酒市场高端消费者饮酒场景洞察2025年品牌发展路径研究报告
- 2025年度户外招牌安全检测与维修服务合同
- 清洁生产咨询方案
- 建设工程承包合同
- 山南市烟草公司2025秋招人力资源岗位面试模拟题及答案
- 2025年度水利工程施工队项目监理合同协议
- 中国邮政2025来宾市秋招数据分析岗位高频笔试题库含答案
- 2019版外研社高中英语必修三单词默写表
- 食堂合作协议范本食堂档口合作协议.doc
- 直接还原铁生产工艺
- 建筑识图题库及答案
- 《幂的运算》习题精选及答案
- 异质结TCO设备:RPD与PVD比较分析(2021年).doc
- PPT汇报评分表(共1页)
- ESD防静电培训教材.ppt
- 《春》复习课件
- 《口袋妖怪漆黑的魅影5.0》图文攻略(全周目)
- 音乐表情术语字典
评论
0/150
提交评论