免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实现字符串匹配的简单匹配算法和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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 租房退房要求打扫卫生的合同(2篇)
- 咨询服务类合同(2篇)
- 人教A版湖南省名校联考联合体2023-2024学年高一上学期期末考试数学试题
- 初中体育+障碍跑+作业设计
- 2023年国家公务员录用考试《申论》真题(副省卷)及答案解析
- 第4课《一着惊海天-目击我国航母舰载战斗机首架次成功着舰》八年级语文上册精讲同步课堂(统编版)
- 西南林业大学《操作系统原理》2022-2023学年期末试卷
- 西京学院《新媒体交互设计》2022-2023学年第一学期期末试卷
- 获奖过程说明附件8
- 西京学院《工程地质》2021-2022学年第一学期期末试卷
- 高效能人士的七个习惯讲义-习惯5 知彼解己课件
- 意义类答题方法
- 实验三四大麦类小麦、大麦、黑麦、燕麦
- 颜真卿介绍课件
- 《兄弟》作品简介名著导读PPT模板
- 三年级上册美术第14课美丽的花挂毯沪教版课件6
- 土木工程施工安全风险与管理措施探究
- 办公大楼供配电系统设计
- 制剂室培训课件
- 帝光公司OEC目标“日事日毕、日清日高”实施方案
- 医院投诉登记表1
评论
0/150
提交评论