一种改进的KR模式匹配算法.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第30卷 第4期 河 南 科 学 Vo1.30 No.4 2012年 4月 HENAN SCIENCE Apr.2012 文章编号:1004—3918(2012)04—0473—04 一 种改进的KR模式匹配算法 尚俊平 , 刘合兵 (河南农业大学 计算机科学与技术系,郑州 450046) 摘 要:在分析BF、KMP和KR等模式匹配算法的基础上提 出一种改进的KR算法(IKR),在产生哈希冲突时利用 双向比较法进行匹配.实验结果表明,该算法可以快速有效地进行模式匹配. 关键词:模式匹配;BF算法;KMP算法;KR算法;IKR算法 中图分类号:TP391.1 文献标识码:A An ImprovedKR PatternM atchingAlgorithm ShangJunping, LiuHebing (DepartmentofComputerScienceandTechnology,HenanAgriculturalUniversity,Zhengzhou450046,China) Abstract:BasedonanalysisofBF,KMPandKR,animprovedKarp-Rabinisproposedinthispaper.Thisalgorithm comparesstringsintwowayswhenHashcollisionOccurs.Asshownintheexperimental resuhs,theIKRalgorithm needsfewertimestocompare,anditiSefficientforpatternmatching. Keywords:patternmatching; BFalgorithm: KMPalgorithm;KR algorithm: IKR algorithm 随着计算机网络的迅速发展,模式匹配的应用越来越广泛.在信息检索、网络安全入侵检测、数据处理 和语言翻译等方面,都离不开模式匹配技术l11. 目前己提出很多模式匹配算法,如 BF(Brute—Force)算法、KMP(Knuth—Morris—Pratt)算法回、KR(Karp— Rabin)算法I3_等.BF算法的实现比较简单,但是效率低,时问复杂度高.KMP算法对BF算法作了很大改 进,利用已匹配好的部分子串来移动模式串.字符串匹配失败时,正文不需回溯,时间复杂度比BF算法低, 但最坏情况下的时间复杂度与BF算法相同.KR算法是利用 Hash方法和素数理论,将文本 串和模式串用 Hash函数转换成数值进行模式匹配的算法.本文在对BF、KMP、KR等模式匹配算法分析的基础上,提出一 种改进的模式匹配算法. 1 传统的模式匹配算法 字符串模式匹配定义如下:在字符集∑上,给定一个长为n的文本串 和一个长为m的模式串P,满足 = PJ, ,…,—l=尸m即Pm= 一 (1≤i≤ —m+1)则说明模式串P在文本串 的位置i处出现,即模式串 与文本串匹配.串的模式匹配就是要寻找 P在 中是否出现,以及 P在 7中出现的起始位置l4_61. 1.1 BF算法 BF算法又称朴素模式匹配算法、简单匹配算法,是效率最低的模式匹配算法.BF算法的步骤是:首先在 = 串 和串P中设置 比较的起始下标 i和 (初始值为i=1, . . 1),然后开始比较,如果Viii和P[,]相等,则继续比 较串 和串P的下一个字符,直~lJT[i+m一1]和P[j+m一1]相等为止;若比较到第k个字符时出现 T[i+k一13≠ = P[j+k一13,则将 i和 回溯 (增加 1, . . 1),重新开始比较.如果存在 i(1≤ ≤ 一m+

文档评论(0)

heroliuguan + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8073070133000003

1亿VIP精品文档

相关文档