タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

Algorithmとstringとsearchに関するyassのブックマーク (2)

  • 文字列検索アルゴリズムの覚え書き - 我らねぶた馬鹿

    マイコミジャーナルの連載記事で、「StringSearch」という文字列検索のためのJavaライブラリを紹介しました。 攻略! ツール・ド・プログラミング (44) 高速な文字列検索を実現するJavaライブラリ「StringSearch」 | マイナビニュース その補足も兼ねて、記事中に出てくる文字列検索アルゴリズムについて少しまとめてみました。細部を省略した大雑把な説明なので厳密な解説ではありませんが、参考までに。 naiveアルゴリズム 対象の文字列とパターン文字列を先頭から順番に比べていき、マッチしなかったら1文字進めてまた最初から比べるという手法です。 java.lang.StringのindexOf()メソッドなどはこの実装だそうです。 Knuth Morris Pattアルゴリズム(KMPアルゴリズム) マッチに失敗した場合に、比較するスタート位置を1文字ずつ進めるではなく、何

    文字列検索アルゴリズムの覚え書き - 我らねぶた馬鹿
  • 【コラム】攻略! ツール・ド・プログラミング (44) 高速な文字列検索を実現するJavaライブラリ「StringSearch」 | エンタープライズ | マイコミジャーナル

    各種文字列検索アルゴリズムを実装したStringSearch Johann Burkard氏が公開しているStringSearchは、高速な文字列検索アルゴリズムを実装したJava用ライブラリである。BNDM法や、BMH法とその派生、Bit-parallel手法といった複数のアルゴリズムをサポートしている点が特徴。いずれのアルゴリズムを利用する場合でも基的な使い方は共通しているため、用途によって簡単に使い分けることができる。 Burkard氏によれば、StringSearchを利用すればjava.lang.Stringクラスによる文字列検索に比べて5倍から10倍程度の高速化が可能とのことである。ただし、この主張には異論も出ている。また、String.indexOf()メソッドなどで採用されているというnaiveアルゴリズム(シンプルだが低速)にしても、短い文字列を対象とした検索であれば十

  • 1