APP下载

适合中文的双向比较模式匹配算法

2011-01-10叶煜

成都大学学报(自然科学版) 2011年3期
关键词:文本

叶 煜

(成都农业科技职业学院电子信息分院,四川成都 611130)

0 引 言

模式匹配(Pattern Matching)问题是计算机相关领域中的一个基本问题,也是复杂性理论中研究得最广泛的问题之一,其在文字编辑处理、图像处理、文献检索、自然语言识别、入侵检测等领域有着广泛的应用.所谓模式匹配,是指给定一个长为n的文本串T[1,n]和长为m的模式串P[1,m],找出文本串T中与模式串P精确匹配的子串的起始位置.好的模式匹配算法能显著地提高模式匹配的效率,因此,研究并设计快速的模式匹配算法具有重要的理论价值和实际意义.

1 算法与分析

目前,模式匹配算法在进行搜索实践时,最有影响的算法是K MP算法[1]和BM算法[2].

1.1 K MP算法

K MP算法由Knuth等于1977年提出,其基本思想是:采用从左向右比较的方法,设计一个与模式串本身局部匹配信息构造的模式值数组next,当匹配过程中出现失配时,利用模式值,将模式串向右“滑动”尽可能远的一段距离,使文本串的指针在匹配过程中不用回溯,保证文本串中每个字符只进行一次比较,从而提高模式匹配的效率.K MP算法的时间复杂度为O(n).

1.2 BM算法

BM算法由Boyer等于1977年提出的,其基本思想是:采用从右向左比较的方法,它包含两个并行的规则,坏字符规则和好后缀规则,当出现不匹配字符时,通过查询预处理好的坏字符移动表与好后缀移动表,选择移动距离较大值向后移动模式串,再进行下一轮匹配尝试.BM算法预处理阶段时间复杂度为O(m+s),s为与模式串P和文本串T相……

登录APP查看全文

猜你喜欢

文本
重点:论述类文本阅读
重点:实用类文本阅读
初中群文阅读的文本选择及组织
作为“文本链”的元电影
在808DA上文本显示的改善
“文化传承与理解”离不开对具体文本的解读与把握
基于doc2vec和TF-IDF的相似文本识别
文本之中·文本之外·文本之上——童话故事《坐井观天》的教学隐喻
从背景出发还是从文本出发
如何快速走进文本