[日記的なもの/フリーソフト/2005]

検索アルゴリズムについて / 2005-07-20 (水)

真魚は正規表現検索を既存コンポのちょい改造したものに頼っていて、
正規表現以外の検索はもっとも単純な順番に照合していく方法を用いている。
その単純な検索をあえて別ユニットにしてあるわけだが、
これは将来的に検索の王道といわれるBM法に置き換えることを想定しての物。
あたしがやらなくても、ソースを利用したい人がそこだけBM法に置き換えてもいい。
誰かがBM法を書いて、怠けているあたしに貢献してくれることも期待した。
それをそろそろ実装しようかと思ってWEBで検索アルゴを調べてみた。

なんか、「あいうえお」で検索してもかえって遅くなりそうに思うのは気のせいか。
たしかに「あいうえあ」みたいに、同じ文字が含まれてたら速いのかも知れないが。
比較を数文字スキップ出来ることが速さの特徴らしいが、
何文字スキップするか判定するのに結局比較が必要になりそうな気がするんだが。
もしくはユニコード全文字分のテーブルを毎回作成したり。
やっぱりテキストエディタは素人が作るものじゃないなと思った瞬間。

さて、実装するかどうか。



1: 本人 (07/20 13:55)
コードを書いてみた。
ながーいテキストの最後の1行に「くそやろうだこのやろう」と書き、
「くそ」と「くそやろうだこのやろう」で先頭から検索してみると、
たしかにスピードに差が出るようだ。
が、「くそ」でもそんなに遅いとは感じない。
これが遅いと感じるほどのテキスト量だと、
それ以外の処理でも待たされるので、
真魚にとっては検索アルゴなんてどうでもいいもののようだ。
どうでもいいなら、せっかく作ったので使おうかな。
トラックバック
1: How l ong does vicodin stay in your system./ (03/02 13:33)
Vicodin withdrawls. Vicodin side effects. Vicodin.

2009/01/09 (金) 更新 ©2005-2009 汁么ゴ魚 by Wantech
Powered by rNote 0.9.7.5