この検索アルゴリズムの実施例とは? わかりやすく解説

Weblio 辞書 > 辞書・百科事典 > ウィキペディア小見出し辞書 > この検索アルゴリズムの実施例の意味・解説 

この検索アルゴリズムの実施例

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2020/09/08 01:52 UTC 版)

クヌース–モリス–プラット法」の記事における「この検索アルゴリズムの実施例」の解説

実際にこのアルゴリズムどのように動作するかを見てみよう。このアルゴリズムの状態は二つ整数 m と i で表される。m はテキスト S 内の文字位置であり、単語 W にマッチする可能性のある位置でもある。i は、その時点で照合中の W 内の文字位置を示す。検索開始時点の状態は以下のように表される。 m: 01234567890123456789012S: ABC ABCDAB ABCDABCDABDEW: ABCDABDi: 0123456 まず、上記の状態で W の先頭と S の先頭から照合していく。この例では4文字目の照合で S[3] が空白、W[3] = 'D' となるため、不一致となる。W 内でそこまで照合され範囲で 'A' が 0 番目にしかないことから、そこまで照合した S の範囲内に 'A' が出現しないことは明らかである。つまり、S[1] から S[3] までは W[0] とマッチすることはない。そのため、次の照合単純に S[1] から開始するではなく、m = 4 および i = 0 として次の照合開始する。 m: 01234567890123456789012S: ABC ABCDAB ABCDABCDABDEW: ABCDABDi: 0123456 ここで、"ABCDAB" までマッチすることがわかるが、W[6] (S[10]) で不一致となる。しかし、前回不一致とは異なり、"AB" が2回出現していることに注意が必要である。この範囲での2回目の "AB" は W の先頭ともマッチするので、ここでは m = 8 および i = 2 として照合再開する。これにより S の事前にマッチし文字列照合を省くだけでなく、W 内の照合済み文字列照合省略している。 m: 01234567890123456789012S: ABC ABCDAB ABCDABCDABDEW: ABCDABDi: 0123456 今回照合即座に失敗し次の照合m = 11 および i = 0 として再開する。 m: 01234567890123456789012S: ABC ABCDAB ABCDABCDABDEW: ABCDABDi: 0123456 ここでも "ABCDAB" までマッチしていることが明らかとなるが、次の一文字は 'C' であり、W 内の次の文字 'D' と不一致となる。前述場合と同様 "AB" が2回マッチしているので、m = 15 および i = 2 として検索を行う。 m: 01234567890123456789012S: ABC ABCDAB ABCDABCDABDEW: ABCDABDi: 0123456 ここで完全に照合でき、その際最初文字位置は S[15] となる。

※この「この検索アルゴリズムの実施例」の解説は、「クヌース–モリス–プラット法」の解説の一部です。
「この検索アルゴリズムの実施例」を含む「クヌース–モリス–プラット法」の記事については、「クヌース–モリス–プラット法」の概要を参照ください。

ウィキペディア小見出し辞書の「この検索アルゴリズムの実施例」の項目はプログラムで機械的に意味や本文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。 お問い合わせ



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「この検索アルゴリズムの実施例」の関連用語

この検索アルゴリズムの実施例のお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



この検索アルゴリズムの実施例のページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
Text is available under GNU Free Documentation License (GFDL).
Weblio辞書に掲載されている「ウィキペディア小見出し辞書」の記事は、Wikipediaのクヌース–モリス–プラット法 (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。

©2025 GRAS Group, Inc.RSS