BM串匹配算法与改进算法的研究
匹配改进方案

匹配改进方案在现代化的社会中,信息非常发达,但是其中的信息匹配却是一个大问题。
很多时候用户需要查询的信息较为复杂或者模糊,这就需要我们运用一些算法或技巧来提高信息匹配的效率和准确性。
在这篇文章中,我们将会提供一些匹配改进方案,谈谈如何利用这些方案提高信息匹配的效率。
一、文本匹配算法在信息检索领域,文本匹配是一种非常常用的技术。
其主要用途在于对文档库中的文章和用户查询之间进行匹配,然后返回最相关的结果。
现在常用的文本匹配算法有BM算法、KMP算法和AC算法等,这里我们主要介绍BM算法。
BM算法全称为Boyer-Moore算法,是一种实用而高效的文本匹配算法。
它在比较时,使用了字符上的信息,从而减少了比较次数,进而大大提高了匹配效率。
BM算法的核心思想是,先预处理要匹配的字符串,将其中的每个字符都放入散列表中,并记录下其最右边的出现位置。
在待匹配字符串中,从后往前匹配,一旦发现某个字符不匹配,就可以根据其最右边的出现位置,直接将模式串右移多个位数。
这样可以快速地进行匹配,提高匹配效率。
二、模糊匹配算法当查询的字符串模糊或存在一定的容错率时,我们可以利用模糊匹配算法来提高匹配准确度。
现在常用的模糊匹配算法有:莱文斯坦距离算法、Damerau-Levenshtein距离算法和Jaro-Winkler距离算法等。
这里我们主要介绍Jaro-Winkler距离算法。
Jaro-Winkler距离算法是一种字符串相似度算法,可以用来比较两个字符串间的相似程度。
其核心思想是,根据两个字符串之间的相同字符数量,计算出字符串间的相似度。
Jaro-Winkler距离算法首先根据字符串中相同字符数量和不同字符数量,计算出Jaro距离。
然后,根据两个字符串开头位置相同的字符数量,计算出Winkler修正系数。
最终,将Jaro距离与Winkler修正系数相乘,得到最终的Jaro-Winkler距离。
三、深度学习模型深度学习模型在近年来在信息检索领域也得到了广泛的应用。
对BM模式匹配算法的一个改进

内解决(、m分别为正文和模 式的长度) n ,为串匹配算法 的进 步发展奠定了坚实的理论基础 ; . . nt, . .rt D E K u V R Pa 和 h t H M rs . oi r 仿照 C o 的证明构造了 K 算法…; .. oe ok MP R SB yr
符不是b的 U 串, 如图 1 所示; 如果模式串x中不存在这样 的 U串, 则在文本串 Y中 u 的后缀中查找与 x的前缀相同的
C o 从理论上证 明了一维模式匹配问题可 以在 0 m+n时间 ok ( )
一
对于模 式 串x在文本 串Y中位置 i 的尝试 , 处 若前 m j1 - 一
次比较已成功完成,而在第m j I 次比较时,模式串中的字符
x = 与 文 本 中 的 字 符 Y =a 不 相 同 , 即 有 ;b
[ bt t ae nt nl io M l r m tsaier r et anw ptr— a hn l rh nm l Q M a o t T i As mclBsdo eaa s fB a oi , i rc pe n e ae m t i a o t h ys g t h tl e s s h t n c g gi m, a e B l r m. h y gi h s
在拼写检查、基于字典的语言翻译、www 搜索引擎、 计算机病毒特征码匹配、数据压缩以及 D A序列匹配等大 N
量应用 中都需要使用字符串匹配技术 。因此 ,在计 算机科学 领域中,串匹配问题一直是研究的焦点之一。在基于分布式
1 . 本思想 2基
B 算法在匹配的过程中采用了从后向前对模式串后缀 M 进行 比较 的策 略。 完成一次尝 试( 匹配失败 或成功) , 在 包括 后
一种改进的BM字符串匹配算法

一种改进的BM字符串匹配算法李韦男;虞慧群【摘要】The essence of classical string matching algorithms is sequential character matching which is always from left to right or from right to left. In the main string, if there are many substrings which have the same prefix or suffix with the pattern string, the algorithms are in the low efficiency. The maximum length for the shift is the length of the pattern string. The improved algorithm uses the two-string-separate-comparison method, effectively avoiding meaningless comparison times due to the same prefix or suffix of substrings and the pattern string. Since the algorithm calculates moving distance of the pattern string according to the improved bad character rule, it increases moving distance of the pattern string. The experimental results show that the improved string matching algorithm can effectively reduce the string matching times and moving times to improve the algorithm efficiency.%经典字符串匹配算法的本质都是从左向右或者从右向左顺序进行字符匹配的,在主串中存在大量子串与模式串前缀或者后缀相同时效率较低,并且模式串最大右移长度为模式串长度。
Snort中BM模式匹配算法的研究与改进

当 P中字符 。与 T中 对应字 符 b失配 时 , 同时共有 3 条 启发性规 则指导 P滑动 ( T为参 照 ) 以 到下一个适 当 的位置 , 哪种规则 下滑动的距离最大 , 便采 用哪一种 。
a O. tr) - dl2j: et ( a )
0 ¥
- - 6
1
2 3
4
5 6
7
的第一 步是 将 目标 串 T与模 式 串 P两 者的左 端对齐 ,
然后从 P的末字符 开始往 左对 比 T中相 对应 的字符 。
H D B H B H B H
1 1 1 1 6 5 4 3 2 1 6 0
表 2
规则一 , 如果 b没有被包含在 模
式 串 P中 , 么 T中从 b开始 , 那 长度 等 于 stn P = m 的子 串是 不可 t () r e 能和 P匹配成功的。
规 则二 , 如果 b被包 含在 P中 ,
关键 词 : 式 匹 配 B 算 法 入 侵 检 测 S o 模 Байду номын сангаас nd
1 引言
模 式匹配是 指在一个 目标文本 T中查找某个特定 的子串 , 使得 这个子 串 与已知的模 式 串 P相等 。如 果 在 T中找到等于 P 的子 串, 则称匹配成功 ,
统(D ) I 的工 作 效 率。著 名 的轻 量 级 入 侵 检 测 系统 S sn o d采用的是 B 模 式 匹配算 法 , M 该算 法被 称为 亚线 性 算法 , 平均 匹配速度 比 同类型 的 K 其 MP算法还要 快 3 —5倍 。本 文对 B 算 法进行 了改进 , M 使之 更适合 与
BM模式匹配算法的研究和改进

摘 要 : 式 匹 配 算 法在 数 字通 信 、 侵 检 测 等 多 种领 域 都 有 着 广泛 的应 用 , M 算 法 以其 高效 的 匹 配 过 程 成 为 模 式 匹 模 入 B
配 算 法 中应 用 最 为 广 泛 的 算 法 之 一 。尽 管 如 此 ,M 算 法 的 效 率 还是 可 以再 提 高 的 。本 文在 介 绍 经 典 B 算 法及 其 改 B M 进的 B MH、 MHS算 法 的 基 础 上 , 过 整 合 、 B 通 改进 后 , 出 了一 种新 的 改进 的 IMH 算 法 。 对 以上 算 法进 行 复 杂 度 分 提 B 在 析 以 后 . 通 过 具 体 的 实验 验 证 。 果 表 明 IMH 算 法 在 比 较 次 数 、 行 时 间、 定性 等 方 面 明 显优 于 B B 再 结 B 运 稳 M、 MH 以及
1 现 有 的 B 系列 算 法 简 介 M
11 经 典 B 算 法 . M
码 匹 配 、 侵 检 测 、 据 压 缩 以 及 D A 序 列 匹 配 等 , 离 不 入 数 N 都
B S等 算 法 。 MH 关 键 词 : 式 匹 配 ;字符 串查找 ; M 算 法 ; MH 算 法 ; MH 模 B B B S算 法
中图 分 类 号 : P 1 T 32
文献 标 识 码 : A
文 章 编 号 :17 — 2 6 2 1 )9 0 5 — 3 6 4 6 3 (0 2 1— 0 2 0
第2 O卷 第 l 9期 V0 .0 1来自 2电子 设计 工程
Elc r n c De in En i e rn e to i sg g n e i g
BM算法与其改进算法分析

BM算法与其改进算法分析燕红文;杨怀卿【摘要】随着网络入侵检测技术的快速发展,入侵行为的检测算法也日益重要.本文对目前常见单模式匹配算法进行分析总结,以经典的单模式匹配算法为例,分析了其详细的实现过程.并以此为基础,分析了修改后的单模式匹配算法的优缺点,对该算法的继续改进提供了一定的参考意见,指出了单模式继续改进的方向.【期刊名称】《农业网络信息》【年(卷),期】2014(000)001【总页数】3页(P124-126)【关键词】BM;模式匹配;单模式;BMH【作者】燕红文;杨怀卿【作者单位】山西农业大学信息科学与工程学院计科系,山西太谷030801;山西农业大学信息科学与工程学院计科系,山西太谷030801【正文语种】中文【中图分类】TP315当今社会,Internet技术高速发展,网络应用规模逐渐扩大,并且全球化程度越来越高,随之而来的是黑客入侵越来越频繁,信息安全问题日趋严重,信息被泄露、被纂改的情况越发普遍。
鉴于此,常规的防范方法是建立防火墙,这是一种被动防御,单独的被动防御是不能够保证信息安全的,而主动的安全防御技术已经是大势所趋,网络入侵检测(network instrusion detection)技术就是信息安全领域的一种热点技术。
随着检测技术的发展,攻击技术也在高速发展,有一些攻击的目标性很强,是指向入侵检测系统的,会造成检测系统频繁报警而造成系统资源的浪费,严重的情况会使系统瘫痪或者是系统崩溃,进而产生不可估量的损失。
所以在提高入侵检测系统的准确性时也要增强系统本身的安全性,确保检测系统在收到大量攻击的前提下可以顺利的工作。
一个检测系统其最关键的部分是检测引擎,在检测引擎当中,主要是研究其数据分析模块,也就是说第一需要描述出什么样的入侵行为,第二是使用何种算法来对入侵行为进行检测。
现讨论对于入侵行为的检测算法。
选择合适算法非常重要,它直接影响到系统的准确性和实时性能[1],检测算法中主要涉及到模式匹配算法,比较著名的算法有KMP、Boyer-Moore、BMH、遗传算法,免疫系统,专家系统,神经网络,贝叶斯定理等算法[2],可以将其分为两大类多模式匹配算法和单模式匹配算法,本研究将着重介绍单模式匹配算法,详细分析算法思路。
【字符串匹配】BM(Boyer-Moore)字符串匹配算法详解总结(附C++实现代码)
【字符串匹配】BM(Boyer-Moore)字符串匹配算法详解总结(附C++实现代码)BM算法思想的本质上就是在进⾏模式匹配的过程中,当模式串与主串的某个字符不匹配的时候,能够跳过⼀些肯定不会匹配的情况,将模式串往后多滑动⼏位。
BM算法寻找是否能多滑动⼏位的原则有两种,分别是坏字符规则和好后缀规则。
坏字符规则:我们从模式串的末尾往前倒着匹配,当我们发现某个字符⽆法匹配时,我们把这个⽆法匹配的字符叫做坏字符(主串中的字符)。
此时记录下坏字符在模式串中的位置si,然后拿坏字符在模式串中查找,如果模式串中并不存在这个字符,那么可以将模式串直接向后滑动m位,如果坏字符在模式串中存在,则记录下其位置xi,那么模式串向后移动的位数就是si-xi,(可以在确保si>xi,执⾏减法,不会出现向前移动的情况)。
如果坏字符在模式串中多次出现,那我们在计算xi的时候,选择最靠后的那个,这样不会因为让模式串滑动过多,导致本来可能匹配的情况被略过。
好后缀规则:在我们反向匹配模式串时,遇到不匹配时,记录下当前位置j位坏字符位置。
把已经匹配的字符串叫做好后缀,记作{u}。
我们拿它在模式串中查找,如果找到了另⼀个跟{u}相匹配的字串{u*},那么我们就将模式串滑动到字串{u*}与主串{u}对齐的位置。
如下图所⽰:如果在模式串中找不到另⼀个等于{u}的⼦串,我们就直接将模式串滑动到主串中{u}的后⾯,因为之前的任何⼀次往后滑动,都没有匹配主串中{u}的情况。
但是这种滑动做法有点太过头了,可以看下⾯的例⼦,如果直接滑动到好后缀的后⾯,可能会错过模式串与主串可以匹配的情况。
如下图:当模式串滑动到前缀与主串中{u}的后缀有部分重合的时候,并且重回部分相等的时候,就可能会存在完全匹配的情况。
所以针对这种情况我们不仅要看好后缀在模式串中,是否有另⼀个匹配的字串,我们还要考察好后缀的后缀字串是否存在跟模式串的前缀字串匹配的情况。
如下图所⽰:最后总结如何确定模式串向后滑动的位数,我们可以分别计算好后缀和坏字符往后滑动的位数,然后取两个数中最⼤的。
入侵检测中BM模式匹配算法和改进.
入侵检测中BM模式匹配算法和改进入侵检测是一种动态的安全防护手段,它能主动识别入侵信息,为网络系统提供安全保护。
模式匹配技术是入侵检测系统识别攻击行为的主要技术,它能够快速探测攻击的存在,具有误报率低、准确性高、实用性强等优点。
在高速网络环境下,入侵检测的速度有可能跟不上数据包传输速率,导致攻击行为的漏报,因而入侵检测系统的检测速度越来越成为其获得实效的瓶颈之一。
降低入侵检测中常用的模式匹配算法的时间复杂度和空间复杂度是提高检测性能的一种有效途径。
本文的研究重点是对入侵检测中使用的模式匹配算法进行研究和改进。
本文首先对入侵检测的现状进行了分析,重点研究了网络入侵检测的核心技术——模式匹配。
研究从模式匹配方法的原理出发,提出了其面临的问题。
在此基础上,对当前最流行的BM算法从原理到性能进行了详细地分析和讨论。
BM算法拥有较好的匹配效率,但是它不能记录上一次匹配结果,而且算法的预处理过程也会带来较大的内存占有量。
本文从时间复杂度和空间复杂度两个方面进行了算法的改进研究,分别提出两种改进算法:BMLT和BMLS。
BMLT通过设定一个新的预处理函数来计算移动量,能有效增加模式串的移动距离。
BMLS通过减少处理规则和判断坏字符在模式串中出现的次数,能在对时间复杂度影响不大的前提下,减少算法的空间复杂度。
本文利用著名的开源入侵检测系统Snort和实际的网络环境,从匹配速度和空间占用两方面对BMLT和BMLS算法进行了测试分析,并与BM算法进行了比较。
相比改进前,算法的时间复杂度最多减少了60%,空间复杂度最多减少了26%。
实验结果表明两种算法均能有效地提高入侵检测的性能。
【相似文献】[1]. 李洋,王康,谢萍.BM模式匹配改进算法[J].计算机应用研究, 2004,(04)[2]. 徐成,孙伟,戴争辉,喻飞.一种面向入侵检测的BM模式匹配改进算法[J].计算机应用研究, 2006,(11)[3]. 梁志荣.具有入侵检测技术的个人防火墙实现[J].网络安全技术与应用, 2006,(04)[4]. 罗峰.入侵检测系统与技术研究[J].电脑知识与技术(学术交流),2006,(17)[5]. 闾浩,何安元.基于IPV6网络入侵检测技术的研究[J].福建电脑,2007,(03)[6]. 邓晓辉,胡丹.网络入侵检测技术[J].南昌高专学报, 2006,(04)[7]. 程拥军.浅谈入侵检测技术[J].湖南冶金职业技术学院学报, 2006,(03)[8]. 庄绪春,孟相如,韩仲祥.高速网络环境中入侵检测技术探讨[J].信息与电子工程, 2006,(04)[9]. 赵准剑.入侵检测技术与计算机网络安全问题思考[J].湖南行政学院学报, 2006,(06)[10]. 兰义华,张颕江,钱涛.入侵检测技术的分析与发展趋势研究[J].网络安全技术与应用, 2005,(08)【关键词相关文档搜索】:计算机技术; 网络安全; 入侵检测; 模式匹配; BM算法; 算法改进【作者相关信息搜索】:浙江工业大学;计算机技术;陈庆章;杜丰;。
对BM模式匹配算法的一种改进
2 1,73 ) 0 14 (2
C m ueE gnei d p laos o p t ni r ga A pi t n计算机 工程 与应用 r e n n ci
对 B 模 式匹配算法 的一种 改进 M
王文鹏 , 俊 黄
WANG e p n , W n e g HUANG u Jn
W ANG W e p n HUANG J n I p o e a g rt m o n e g, u .m r v d l o i h f BM f r a t r m a c i g Co o p te n t h n . mp t r u e En i e r n a d g n e i g n Ap l a pi - c
t n 。0 1 4 (2 :0 —1 . i s2 1 。7 3 ) 1811 o
Ab t a t P t r ma c i g s u e n n r so ee t n y t m wi eyOn t e a e o n l zn sr c : at n e th n i s d i itu i n d tc i s se o d l. h b s f a ay i g BM ag rtm n t e loi h a d oh r ag rt ms a i r v d a g r h loi h , n mp o e l o i m o M i r s n e . h l o tm u e t e t fB s e e td T e a g r h p i s s h BM H ag rt m n lo h i a d BM HS l o t m t o e a g r h i a n t a d ma e s f c mb n t n o e frt c a a t r a d l s h r c e f p t r o ma e h e p t r h f. e r a e i me n k s u e o o i ai f t s h r ce n a t c a a t r o at n t k t at n s i I d c e s s o h i e e t t t e t a d t e o h r c e o a io n t ac i g p o e sEx e me t l d t h ws t e i r v d ag rtm a l h i me n i s f c a a t r c mp rs n i he m t h n r c s . p r m i n a a a s o mp o e l o h h i c n el —
字符串精确匹配算法改进的探讨
字符串精确匹配算法改进的探讨如何改进字符串匹配算法,提高查询速度,是目前研究的重要领域之一,本文在对BF算法、KMP算法、BM算法、BMH算法、RK算法和SUNDAY算法等几种常见算法分析的基础上,提出改进的意见。
标签:精确匹配;KMP算法;模糊匹配一、引言字符串精确匹配在计算机领域有着广泛的应用, 它可用于数据处理、数据压缩、文本编辑、信息检索等多方面。
如何改进字符串匹配算法,提高查询速度,是目前研究的重要领域之一。
所谓精确字符串匹配问题,是在文本S中找到所有与查询P 精确匹配的子串。
字符串精确匹配要求匹配严格准确,其实现算法主要有BF算法、KMP算法、BM算法、BMH算法、RK算法和SUNDAY算法等。
本文在对这几种常见算法分析的基础上,提出改进的意见。
二、常见算法分析1.BF算法BF(Brute Force)算法是效率最低的算法。
其核心思想是:T是文本串,P是模式串。
首先S[1]和P[1]比较,若相等,则再比较S[2]和P[2],一直到P[M]为止;若S[1]和P[1]不等,则P 向右移动一个字符的位置,再依次进行比较。
如果存在t,1≤t≤N,且S[t+1..t+M]= P[1..M],则匹配成功;否则失败。
该算法最坏情况下要进行M*(N-M+1)次比较,时间复杂度为O(M*N)。
2.KMP 算法KMP(Knuth-Morris-Pratt)算法是D.E.Knuth、J.H.Morris和V.R.Pratt 3 人于1977 年提出来的。
其核心思想是:在匹配失败时,正文不需要回溯,而是利用已经得到的“部分匹配”结果将模式串右移尽可能远的距离,继续进行比较。
这里要强调的是,模式串不一定向右移动一个字符的位置,右移也不一定必须从模式串起点处重新试匹配,即模式串一次可以右移多个字符的位置,右移后可以从模式串起点后的某处开始试匹配。
KMP算法的时间复杂度是O(m+n),最坏情况下时间复杂度为O(m*n)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
使 『] I 5对 ’ 『 准 比较 , 配 和 P 时 , T= . 继 续 往 前 匹 配 比较 ; T ≠P , 移 动 3个 字 符 , P9与 ,1] 齐 , 备 第 五 次 匹 配 。 匹 若 iP, 则 若 i . ( ) 完 成 第 四次 匹配 后 , [ 与 T 1 】 行 比较 , 配 成 功 , 3在 P9 1 【 进 5 匹 则 正 文 中 i 变 , 式 中 j 向 N x叫所 指 示 的位 置 。 e l 示 不 模 指 et N xⅢ表
串 匹 配是 字 符 串 的 一 个 基 本 运 算 .对 于 给 出 的长 度 为 n的
Tp g h l p
2 3
4
h h
h
h d
h
t d b h p
p
h
d
正 文 字 符 T T … … 和 长 度 为 m 的 模 式 串 P P… … P ( > =, =I n> m) 要 找 出模 式 P在 正 文 T 中 的 首 次 出 现 , 旦 模 式 P在 正 文 . 一 中找 到 . 匹配 成 功 . 则 匹 配 失 败 。 符 串匹 配 应 用 广 泛 . 数 则 否 字 在
些 现 有 的 改进 算 法 , 这 些 算 法进 行 了比较 , 结合 B 对 并 MG 算 法 , 出 了一 个 新 的改 进 算 法 。该 算 法考 虑 了模 式 匹配 时 出现 提
重 复 字符 时 , 比较 的 前 一 个 字 符 的 出现 情 况 以及 模 式 串首 字符 的 特性 , 高 了模 式 串移 动 m l 的概 率 , 高 了 匹配 速 度 。 提 + 位 提
表 1 M 模 式 匹 配 过 程 B
下 面 我 们 对 表 1中 的 B 模 式 匹配 过 程 作一 简单 分析 : M ( ) 一 次 匹 配 是 模 式 串 的 P与 文 本 中 的 T首 字符 对 齐 . 1第 然 后 从 模 式 串 的 最 后 一 个 字 符 开 始从 右 向 左 比较 , 先将 P 9与 T 即 『 1 『1 行 比 较 , 配 失 败 , 9进 匹 因此 模 式 串 向 右 移 动 , 同时 T 9 位 置 的 『 1
11 . KMP算 法
且 T 11 符 ”” 在 模 式 串 P7位 置 出现 一 次 , 式 串 向 右 移 f 字 O s仅 『1 模
K MP算 法 的 基 本 思 想 P 将 正 文 T和 模 式 P左 端 对 齐 进 行 动 2个 字 符 , P7与 T 11同理 , 四 次 匹 配 后 模 式 串再 向 右 l 是 使 『 ] [0; 第
算 法 和 随 机算 法 . 些 算 法 都 是 精 确 的 串 匹 配算 法 。 文 主 要 介 这 本
绍 B 算 法 及其 改 进算 法 。 M 1 现 有模 式 匹 配 算 法 的 分 析 、
目前 关 于模 式 匹 配 的 算 法 很 多 . 中最 著 名 的 两 个 是 K 字 符 … 在 模 式 串 P中 仅 出 现 1次 . 式 串 移 动 1 字 符 . P 其 MP e。 模 个 即
8与 f] 从 算法 … B 算 法 [ 两 个 算 法在 最 坏 情 况 下 均 具 有 线 性 的 搜 索 『1 T9对 齐 , 而 完 成 第 二 次 匹 配 。 和 M 2 1 ( ) 三 次 匹 配 是 将 P9 与 T 1 ] 作 比较 , 现 匹 配 失 败 , 2第 『1 [0 先 发 时间。
p p
( I h d
h d
p
5 6
P P
h h
d d p h d
Pat TH. s 照 C o rt和 . M0 仿 ok的 证 明 构 造 了 K MP算 法 f: .. lRS l
B v r J Oe设 计 了 B 算 法 [ K r o e 和 . MO r S M 2 ap和 R bn给 出 了 R 1 ; ai K
字通信 、 本 编辑 、 像处理 、 据 压缩 、 式识别等 应用 中 , 文 图 数 模 都 需 要 进行 串 匹 配 近 年来 对 于 一 维 字 符 串 的 匹 配 问 题 研 究 较 多 17 9 0年 . _ . o k从 理 论 上 证 明 了 一 维 模 式 匹配 问题 可 以 在 O SA C o ( n 时 问 内 解 决 . 串 匹 配 算 法 的 进 一 步 发 展 奠 定 了 坚 实 的 m+ ) 为 理 论 基础 , 中 n m 分别 为 文 和模 式 的 长 度 ; . . n t , . . 其 、 D E K uh V R
21 0 0年 第 7期
福
建 电
脑
B 串匹配算 法与 改进 算法 的研究 M
王
(苏 州 大 学
锋
电子 信 息 学 院 江 苏 苏 州 2 5 2 10 1)
【 摘
一
要 】 串匹配算法在数字通信等 方面应用广泛 , M 算法是主要 的 串匹配算法之一。文章在 分析 了 B 算法过程 和 : B M
【 键 词 】 B 算 法 ; 式 串 ; 进 算 法 ; 式 匹配 关 : M 模 改 模
O、 言 引
t 2 3 4 5 6 7 8 9 1 1 2 13 】 6 】7 l 9 5 262 28 0 1 1 4 l5 l 8 l 2O 2122 2j24 2
[J [4进 匹配 失 败 . 式 串 向 右 移 动 。 模 当模 式 中第 i 字 符 与 正 文 中相 应 字 符 匹 配 失 败 时 .在 模 式 中 然 后 P 8与 T 字 符 进 行 比较 的 字 符 的 位 置 .这 一 位 置 只 与 模 式 本 身 有 关 . 与 正 文无 关 。 而 K MP算 法 虽 然 能 使 样 本 右 移 若 干 位 . 存 在 一 个 局 限 . 但 即