この検索アルゴリズムの擬似コードと解説とは? わかりやすく解説

Weblio 辞書 > 辞書・百科事典 > ウィキペディア小見出し辞書 > この検索アルゴリズムの擬似コードと解説の意味・解説 

この検索アルゴリズムの擬似コードと解説

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

クヌース–モリス–プラット法」の記事における「この検索アルゴリズムの擬似コードと解説」の解説

前述実施例はこのアルゴリズムあらゆる要素含んでいる。ここで、現在の照合不一致終わった際に次の照合開始時点参照する「部分マッチ」テーブル T を使用するものとする(後述)。T のエントリは、S[m] から照合して S[m + i] と W[i] が不一致となった際に次に照合開始すべき位置を S の m + i - T[i] 番目とするよう設定される(つまり、T[i] は不一致の際のバックトラッキングを示す)。これには2つの意味がある。第一に T[0] = -1 は W[0] が不一致場合バックトラックできず単に次の文字照合すべきであることを示す。第二m + i - T[i] が次の照合インデックスとなるが、その先頭 T[i] 個の文字照合する要はなく、照合は W[T[i]] からでよい。以下の擬似コードKMP法実装例である。 algorithm kmp_search: input: an array of characters, S (検索対象テキスト) an array of characters, W (単語) output: an integer (W見つかった際の S 内の位置。ただし先頭文字は 0番目とする) define variables: an integer, m ← 0 (S 内の現在照合中の開始位置) an integer, i ← 0 (W 内の現在位置) an array of integers, T (テーブル。他で事前に構築される) while m + i is less than the length of S, do: if W[i] = S[m + i], let i ← i + 1 if i equals the length of W, return m otherwise, let m ← m + i - T[i], and if i > 0, let i ← T[i] (W が S 内に見つからなかった場合) return the length of S

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

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



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

辞書ショートカット

すべての辞書の索引

「この検索アルゴリズムの擬似コードと解説」の関連用語

この検索アルゴリズムの擬似コードと解説のお隣キーワード
検索ランキング

   

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



この検索アルゴリズムの擬似コードと解説のページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

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

©2025 GRAS Group, Inc.RSS