タグ

stringとalgorithmに関するmanabouのブックマーク (4)

  • シンプルかつ高速な文字列照合アルゴリズムを紹介します - エムスリーテックブログ

    こんにちは! エンジニアリンググループ マルチデバイスチーム 新卒1年目の小林です。 エムスリーでは、2週間に1度、Tech Talkという社内LT会(現在はリモートで)が開催されています。これは、とある回の発表テーマリストです。 Tech Talkのとある回の発表テーマリスト このように、最近エムスリーでは文字列が流行っている(?)ようなので、その勢いに乗って私も文字列照合アルゴリズムについて書きたいと思います!(業務とは全然関係ない話です) Knuth-Morris-PrattやBoyer-Mooreアルゴリズムは解説記事がたくさん出ていると思うので、この記事ではシンプルかつ高速なQuick-SearchとQuite-Naiveアルゴリズムについて説明し、速度比較を行った結果についてご紹介します。 文字列照合アルゴリズムとは テキストとパターンという文字列が与えられたときに、中に出現す

    シンプルかつ高速な文字列照合アルゴリズムを紹介します - エムスリーテックブログ
  • BM法による文字列マッチング学習メモ - $shibayu36->blog;

    grepで文字列マッチングしている時の仕組みを学ぶために、BM法などの文字列マッチングについて調べていた。調べたことをメモしておく。特にまとまってはいない。 参考になった文献は以下。 文字列の中から効率良くキーワードを探し出せ:コーディングに役立つ! アルゴリズムの基(7)(3/4 ページ) - @IT BM法をJSで実装している とりあえずイメージ掴むのには分かりやすい サービス終了のお知らせ BM法や、その亜種のHorspool のアルゴリズムとQuick-Searchを解説している ちょっとわかりづらいけど、一番ちゃんと書かれている すごく雑にイメージすると、 パターンの方に前処理を加えて、ある文字がパターンの中のどの位置にあるかを保存しておく パターンマッチングしていきマッチしなかった場合に、前処理で作った位置情報を使っていい感じにスキップする という感じ。雑すぎる。 BM法関連

    BM法による文字列マッチング学習メモ - $shibayu36->blog;
  • Crochemore-Perrin アルゴリズム - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? どうも、文字列大好き @hdbn です。「文字列アルゴリズム Advent Calendar 2016」 には間に合いませんでしたが、1月10日は「糸 (string) の日」ということで文字列 (string) アルゴリズムの記事を書くことにしました。この記事では文字列照合アルゴリズムの中で最も美しいアルゴリズムの1つである Crochemore-Perrin のアルゴリズムを紹介します。 アルゴリズムの正しさの証明はほぼ元の論文をなぞっていますが、説明を簡単にするために計算量に影響を与えない範囲でオリジナルのアルゴリズムから少し変更

    Crochemore-Perrin アルゴリズム - Qiita
  • 文字列アルゴリズムの学びかた - Hatena Developer Blog

    こんにちは!はてなアプリケーションエンジニアの id:takuya-a です。 みなさんは、このような疑問をもったことはありませんか? grep はどのように文字列を検索しているのか? MeCab はどうやって辞書を高速にルックアップしているのか? パーサやコンパイラを作りたいけど、何から始めればいいのか? 稿では、「文字列アルゴリズムとはどんなものなのか?」「なぜ重要なのか?」「何を知っておくべきか?」「どうやって勉強すればいいのか?」といった疑問にお答えしていこうと思います。 文字列アルゴリズムの意外な応用や、モチベーションを保ちやすい勉強のしかた、文字列アルゴリズムを勉強するために行った社内での取り組み、実装するときのコツといったトピックについても触れています。 このエントリは、はてなエンジニアアドベントカレンダー2016の22日目の記事です。昨日は id:syou6162 さんに

    文字列アルゴリズムの学びかた - Hatena Developer Blog
  • 1