KMP算法文献综述

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

文献综述

一般使用的计算机的硬件结构主要反映数值计算的需要,而计算机上的非数值处理的对象基本上是字符串数据,因此在处理字符串数据时比处理整数和浮点数要复杂的很多。随着程序语言将程序的发展,字符串的处理也有了越来越多的研究。子串的定位炒作通常称为串的模式匹配,是各种处理系统中最重要的操作之一。串匹配问题是指从给定的字符序列中找出一个或多个具有某种属性的模式序列,而字符串匹配指的便是从给定的字符序列中找出一个或若干个给定的字符串。字符串匹配算法是一个基础算法,它的解决以及在这个过程中产生的方法对计算机的其他问题都产生了巨大的影响。在我们日常使用计算机的过程中,使用字符串匹配技术的例子十分普遍,例如:入侵检测、病毒检测、信息检索、信息过滤、计算生物学等等都包含了字符串匹配技术。

在字符串匹配技术被广泛应用的同时,众多的科技人员也对其进行了深入的研究,字符串匹配问题现在已经发展成为一门相对独立的科学——字符串学(Stingology)[1][2][3]。字符串匹配技术最先被应用于图书文献目录摘要的查询系统和构建数据的全文检索系统。而后,随着网络安全技术和生物技术的日益发展,在网络安全和生物计算等领域中字符串匹配技术又获得了新的发展空间。

随着网络速度和流量的日益增加,基于网络的入侵检测[4][5]系统面临着严峻的挑战,它的处理、分析速度越来越难以跟上网络流量增加速度,从而极易导致数据包的丢失。解决数据包丢失等问题,提高处理速度是关键。另外对于基于误用的入侵检测系统而言,检测过程中最费时的部分便是入侵特征匹配。

目前,信息资源的高速膨胀已经成为一个全球普遍关注的现象。加利福尼亚大学伯克利分校研究人员发现,仅从1999年至2002年全球新产生的信息量就翻了一番。伴随着信息膨胀,信息的良莠不齐现象也是一个严重困扰人们的问题。大量反动、黄色信息以及国家机密在网络上蔓延和传播,给国建安全和社会稳定造成了严重的威胁,如何对这些不良信息进行网络监控是我们面临的一个重要问题。在信息过滤时,特别是在主干网络上进行过滤与检索,对字符串匹配的实时性要求极高,字符串匹配性能的优劣直接影响了过滤与检索系统的性能。

随着生命科学的发展,人们对生命物质的微观结构也有了越来越清晰的认识。目前,人类基因组序列的绘制工作已完成,Prosite等大型蛋白质重要样本数

据库已经建立[6]。由于基因和蛋白质都可以用建立在一定字符集上的符号序列来表示,因此字符串匹配技术变有了新的发展空间。在计算生物学中,海量的基因组序列数据和蛋白质序列数据中进行比对、分析、组合的基本是字符串匹配技术。

综上所述,随后则计算机技术和网络技术的发展,模式匹配算法的重要性越发突出,研究设计高效率的匹配算法这是计算机技术发展的迫切需求,为了在最快的时间内研究设计出高效的匹配算法,我们必须学习和借鉴一些经典的算法,其中KMP算法最具有代表性,在最坏的情况下它能保证在O(n+m)的时间数量级上完成串的模式匹配操作。KMP算法的最大特点是指示主串的指针不须回溯,整个匹配过程中,对主串仅需从头到尾扫描一遍,这对处理从外设输入的庞大文件很有效,可以边度入边匹配,而无需回头重读。它的这些优点使其成为经典算法之一,而其算法的衍生算法数量也极其庞大,所以我们很有必要对其学习研究。

参考文献

[1]严蔚敏,吴伟民.数据结构(C语言版) [M].北京:清华大学出版社,2008.9

[2]刘燕兵.串匹配算法优化的研究.中国科学院硕士学位论文-中国科学院计算技术研究所,2006.6

[3]潘金贵,顾铁成.算法导论.[M].机械工业出版社,2010.9

[4]吴哲辉,曹立明,蒋昌俊.算法分析与设计[M].北京:煤炭工业出版社,2006.6

相关文档
最新文档