文字列検索アルゴリズムの比較とは? わかりやすく解説

Weblio 辞書 > 辞書・百科事典 > ウィキペディア小見出し辞書 > 文字列検索アルゴリズムの比較の意味・解説 

文字列検索アルゴリズムの比較

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2018/04/10 17:28 UTC 版)

ラビン-カープ文字列検索アルゴリズム」の記事における「文字列検索アルゴリズムの比較」の解説

このアルゴリズム対応する基本的問題は、m 文字固定サブ文字列パターン)を n 文字テキスト内から検索することである。例えば "Hello sunshine in this vale of tears." という文から "sun" という文字列探す。最も単純なアルゴリズム全ての可能な位置からサブ文字列比較するのである。 1 function NaiveSearch(string s[1..n], string sub[1..m]) 2 for i from 1 to n 3 for j from 1 to m 4 if s[i+j-1] ≠ sub[j] 5 jump to next iteration of outer loop 6 return i 7 return not found このアルゴリズム多く場合十分にうまく動作するが、場合によっては時間がかかりすぎる。例えばそれは、1000万個の "a" から構成されるテキストについて、10,000個の "a" に 1個の "b" が続いている文字列検索する場合などで、最悪場合O(mn)の時間がかかるクヌース-モリス-プラット法では、各文字一度だけ調べるよう事前計算1回行うことで、Θ(n) の時間実現している。ボイヤー-ムーア法では可能な限りスキップすることで繰り返し回数減らし文字列調べ回数最良場合 n/m 回になる。ラビン-カープ法では、上記擬似コードの3行目から6行目に注目し高速化している。

※この「文字列検索アルゴリズムの比較」の解説は、「ラビン-カープ文字列検索アルゴリズム」の解説の一部です。
「文字列検索アルゴリズムの比較」を含む「ラビン-カープ文字列検索アルゴリズム」の記事については、「ラビン-カープ文字列検索アルゴリズム」の概要を参照ください。

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



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

辞書ショートカット

すべての辞書の索引

「文字列検索アルゴリズムの比較」の関連用語

文字列検索アルゴリズムの比較のお隣キーワード
検索ランキング

   

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



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

   
ウィキペディアウィキペディア
Text is available under GNU Free Documentation License (GFDL).
Weblio辞書に掲載されている「ウィキペディア小見出し辞書」の記事は、Wikipediaのラビン-カープ文字列検索アルゴリズム (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。

©2025 GRAS Group, Inc.RSS