已阅读1页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实现字符串匹配的简单匹配算法和KMP算法,并且使用相同的比较字符串重复比较至少5000次,计算两者的时间差别。实验要求:完成实验内容要求,编写程序实现。提交报告,报告分三部分内容:1) 自己是怎么做的?遇到什么问题,怎样解决的?2) 用了哪些数据,得到什么结果?程序结果是不是跟你想的一样?为什么不一样?3) 还有哪些值得改进或者不懂的?一、 实验方案源程序的头文件定义为:#include #include #include #include 又作出以下宏定义方便编程:#define OVERFLOW -2#define OK 1#define MAXSTRLEN 255源程序中的各个函数原型如下所示:typedef char SStringMAXSTRLEN+1;int Index(SString S,SString T,int pos) /按照普通匹配查找方式查找模式串int i=pos;int j=1,k=0;while(i=(int)S0 & jT0) return i-T0;else return 0;/Indexvoid get_next(SString T,int next) /求KMP算法中的next函数值,并存入数组next int i=1; next1=0; int j=0; while(i(int)T0) if(j=0 | Ti=Tj) +i; +j; if(Ti!=Tj) nexti=j; else nexti=nextj; else j=nextj; /nextint Index_KMP(SString S,SString T,int pos) /KMP算法的实现过程int nextMAXSTRLEN;int i=pos;int j=1,k=0;while(i=(int)S0 & j(int)T0)return i-T0;else return 0;/Index_KMP源程序中主函数如下:void main()SString T,S;int p,i,j,k1,k2;p=1;i=1;j=1;printf(请输入字符串匹配主串:n);gets(&S1);printf(请输入字符串匹配模式串:n);gets(&T1);for(i=1;Si!=NULL;i+)S0=(int)(i);printf(字符串匹配中主串:n);puts(&S1);for(j=1;Tj!=NULL;j+)T0=(int)(j);printf(n字符串匹配中模式串:n);puts(&T1); printf(普通算法n);k1=Index(S,T,p);printf(普通匹配算法得模式串位置:%dnn,k1);printf(KMP算法n);k2=Index_KMP(S,T,p);printf(KMP算法得模式串位置:%dn,k2);二、 实验结果和数据处理(1)程序运行时,输入主串为S=qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqws ;模式串为T=qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqws;运行界面如下:小结:得到普通匹配算法的时间复杂度为3793,而KMP算法的时间复杂度为174,显然在匹配算法中,KMP算法优于普通算法,节省了时间以及资源。(2)当输入主串为S=A STRING SEARCHING EXAMPL
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 池州职业技术学院《疾病学基础》2025-2026学年期末试卷
- 安徽粮食工程职业学院《初级会计学》2025-2026学年期末试卷
- 厦门工学院《酒店市场营销》2025-2026学年期末试卷
- 长春大学旅游学院《服务管理》2025-2026学年期末试卷
- 南昌大学科学技术学院《公司治理学》2025-2026学年期末试卷
- 芜湖医药健康职业学院《康复评定技术》2025-2026学年期末试卷
- 闽北职业技术学院《西方经济学题库》2025-2026学年期末试卷
- 新余学院《麻醉解剖学》2025-2026学年期末试卷
- 黎明职业大学《中国现代文学三十年》2025-2026学年期末试卷
- 食品工艺学 第十二章-肉品与蛋制品加工工艺
- 用户管理模块详细设计
- 人工智能伦理教学案例库建设和实践探索
- GB/T 6433-2025饲料中粗脂肪的测定
- 《生殖医学进展:胚胎冷冻保存技术》课件
- 路政许可申请书
- 社会责任与CSR管理制度
- 北京第八十中学初一新生分班(摸底)数学模拟考试(含答案)【6套试卷】
- 2024面试逐字稿初中数学试讲稿多篇板书设计
- 铸铁管道拆除施工方案
- DZ∕T 0291-2015 饰面石材矿产地质勘查规范
- 概念辨析复习 -2021-2022学年高一下学期物理人教版(2019)必修第二册(含答案)
评论
0/150
提交评论