• ベストアンサー

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

「私は世界一頭がいいので、数学なんか簡単すぎていいかげん飽きてきた。」 この文字列から「いいかげん」を検索するアルゴリズムにはどんなものがあるのでしょうか? 条件 ・100KB(5万字)程度のデータから10文字程度指定文字列を検索する。 ・100KBと元データもそれほど大きくないので、プログラムが簡単なアルゴリズムが良い。 ・そのアルゴリズムの解説がインターネット上にあること。 単純に「い」を探して合致したら次の文字も「い」であることを確認。 さらに次の文字が「か」であることを確認。 さらに・・・「げ」・・「ん」 とやっていく方法でも良いとは思うのですが、もしかしたらもっとお手軽かつ高速にできる方法があるのかなと思い質問してみました。 なければないという回答でもかまいません。 また、参考までにテキストエディタ等がどのようなアルゴリズムを用いているのか知っている方(推測できる方)はその方法についても教えて頂ければと思います。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

BM(Boyer-Moore)法

参考URL:
http://www.pc-view.net/Solution/040120/page74.html
jyuzou
質問者

お礼

リンク先読みました。 この方法でよさそうで、これで行こうかと思案中です。 迅速な回答ありがとうございました。

その他の回答 (1)

noname#29127
noname#29127
回答No.2

検索アルゴリズムについてはさっぱりですが、 下記ページの[検索・探索ルーチン]に詳しく書かれています。 http://www2.starcat.ne.jp/~fussy/algo/index.htm "grep 検索 アルゴリズム"などのキーワードでgoogleにて 色々見つかるかもしれません。

jyuzou
質問者

お礼

リンク先ぱっと見少し難しそうですが、時間があるときにでも読んでみたいと思います。 回答ありがとうございます。

関連するQ&A