BMの文字列照合アルゴリズムを探します

まず、検索文字列:
1は、Wordで、のIntelliJ IDEA、コードブロックや他のエディタは、文字列検索機能を持っています。
2は、文字列検索アルゴリズムは、検索アルゴリズムであり、その目的は、長い文字列のサブストリングが含まれている中で見つけることです。

第二に、文字列一致:
1は、文字列は、有限アルファベット上で定義された文字のシーケンスです。
例えば、ATCTAGAGAアルファベットE = {A、C、G 、T} ストリングに。
図2に示すように、文字列照合アルゴリズムは、文字列の位置におけるラージT現れるにおけるPの全ての文字列を検索することです。
ここで、Tは、テキストと呼ばれ、Pモードが呼び出され、TおよびPは、同じアルファベットE.上に定義されています
図3は、文字列マッチングアプリケーションは、情報検索、スペルチェック、言語翻訳、データ圧縮とネットワーク侵入検出を含みます。

第三に、文字列検索とマッチングアルゴリズム:
1、単純な検索アルゴリズム(ナイーブ上の文字列検索アルゴリズム)
2、KMPアルゴリズム(クヌース-モリス-プラットアルゴリズム)
3、BMアルゴリズム(ボイヤー-ムーア列検索アルゴリズム)。

問題:
テキスト文字列Tとパターン文字列P、Pを考えるとT.の位置を見つけるために
表記:
M、N-:T及びPの各々の長さを表します。
E:T Pと文字が文字Eの同じセットに定義されています
TI、Pjの:T i番目の文字とj番目の文字P(0から始まります)。0≤i<M、0≤j<N

(C)BMアルゴリズム:

おすすめ

転載: www.cnblogs.com/ZengBlogs/p/12195606.html