码迷,mamicode.com
首页 > 编程语言 > 详细

字符串查找与匹配之BM算法

时间:2020-01-15 13:51:15      阅读:93      评论:0      收藏:0      [点我收藏+]

标签:string   语言翻译   一个   拼写检查   tag   序列   字母   查找算法   朴素   

一、字符串查找:
1、在Word、 IntelliJ IDEA、Codeblocks等编辑器中都有字符串查找功能。
2、字符串查找算法是一种搜索算法,目的是在一个长的字符串中找出是否包含某个子字符串。

二、字符串匹配:
1、一个字符串是一个定义在有限字母表上的字符序列。
例如,ATCTAGAGA是字母表 E ={A,C,G,T}上的一个字符串。
2、字符串匹配算法就是在一个大的字符串T中搜索某个字符串P的所有出现位置。
其中,T称为文本,P称为模式,T和P都定义在同一个字母表E上。
3、字符串匹配的应用包括信息检索、拼写检查、语言翻译、数据压缩、网络入侵检测。

三、字符串查找与匹配算法:
1、朴素查找算法(Naive string search algorithm)
2、KMP算法(Knuth-Morris- -Pratt algorithm)
3、BM算法(Boyer-Moore string search algorithm)

问题:
给定一个文本T字符串和一个模式P字符串, 查找P在T中的位置。
记号:
m、n:分别表示T和P的长度。
E:T和P的字符都定义在同一个字母集E上。
Ti、Pj: T的第i个字符和P的第j个字符(以0起始)。其中0≤i<m,0≤j<n

(三)BM算法:

字符串查找与匹配之BM算法

标签:string   语言翻译   一个   拼写检查   tag   序列   字母   查找算法   朴素   

原文地址:https://www.cnblogs.com/ZengBlogs/p/12195606.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!