版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 模式匹配算法的研究与实现 李萍赵润林摘要:模式匹配是字符串的基本运算之一,也是数据结构课程的重点算法之一。在当今文本信息海量增长的时代,如何快速地定位就显得尤为重要。该文通过朴素模式匹配算法与kmp算法的比较说明各自的优缺点,同时通过提高获取next数组的效率,加快kmp算法的匹配速率。关键词:模式匹配;kmp;next函数;文本搜索:tp391 :a :1009-3044(2017)18-0025-02从计算机诞生至今,文本信息海量地增长,无论是在金融、航海、dna检测、网络入侵等领域都需要在文本中快速地查找所需要的信息,因此设计出一个好
2、模式匹配算法,不公可以高效地进行定位,还可以提高文本编辑能力,提高改善人类的生活。模式匹配即子串的定位操作,是数据结构中逻辑结构为串的最重要操作之一。该算法的主要目的是找出特定的模式串在一个较长的字符串中出现的位置。如有两个字符串t称为模式串,字符串s称为主串,找出模式t在主s中的首次出现的位置。一旦模式t在目标s中找到,就称发生一次匹配。例如,目标串s=ababeabcaebab,模式串t=abcac,则匹配结果为6,其中经典的模式匹配算法包括朴素匹配算法、kmp。1朴素模式匹配算法朴素模式匹配算法的基本思想是在模式串t和主串s中,使用循环变量i,j,分别在模式串和主串中循环跑动,如果模式串
3、与主串对应字符相等si=tj,则同时后移;如果模式串与主串对应字符不相等sij,则模式串回滚到起始位置,而主串回滚到起始位置的下一个字符。如此一直循环直至主串结束或模式串结束。朴素模式匹配算法的回溯演示如下:算法流程图描述如下:2 kmp算法与朴素模式匹配算法比较,kmp算法最大的特点是模式串在匹配不相等的情况下,不再回溯,而是匹配串进行滑动,所以匹配串滑动的位置是算法的关键。由于模式串已匹配的字符串与主串已匹配内容相同,从模式串部分匹配字符中从前和从后数的字符串如果相同,即相同字符串无需再进行匹配,即模式串滑动的位置为相同字符数加1。滑动演示如下:4总结本文通过分析朴素匹配算法与kmp算法如何进行字符串比较,在比较相等与不相等时模式串与主串如何移动,说明两者的优缺点,并且在kmp算法中通过改進next函数值的计算,提高kmp匹配效率,并通过上机验证实现算法。endprint电脑知识与技术2017年18期电脑知识与技术的其它文章tpack框架对翻转课堂教学的影响分析云数据中心网络虚拟化技术实现及运用研究互联网+环境下的移动通信技术应用探讨中职程序设计课程案例教
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 海南电信消防安全云课堂
- 高中地理易混淆地理概念辨析别再混淆了
- 英语四年级下册Unit 2 Family Rules 教案
- 阅卷评分标准与细则
- 公关服务公司公关服务技能专项培训管理制度
- 2026电商插画面试题库及答案
- 2026东阳科学面试题目及答案
- 工业机器人应用开发协议(2026年科技公司)
- 常见肿瘤标志物重点2026
- 电气安装工程质量验收规范手册
- 《相见欢无言独上西楼》课件
- 浓硫酸泄漏应急预案
- 广东省普通高中学生档案
- DB13T 5714-2023 道路运输企业安全生产风险分级管控规范
- 华中科技大学研究生入学考试组织行为学
- 濮良贵机械设计课件完整版
- RB/T 024-2019合格评定服务认证技术应用指南
- GB/T 4010-2015铁合金化学分析用试样的采取和制备
- GA/T 832-2014道路交通安全违法行为图像取证技术规范
- 输电线路工程组塔施工质量控制
- 公共伦理学(第三版)-课件
评论
0/150
提交评论