タグ

文字列に関するmono-hateのブックマーク (2)

  • Haskell 文字列変換入門 - Qiita

    文字列処理といえば、プログラミング言語を学ぶ上で必須と言っても過言ではないでしょう。この記事では、Haskell のちょっとわかりづらい文字列変換について説明していこうと思います。 TL;DR convertString という関数でかんたんに変換できます 型変換に関してはこの関数で大体カバーできます この関数でカバーされないケースや文字エンコーディングの変換が必要な場合は以下を参照ください Haskell の文字列 Haskell には文字列がたくさんあります。 まずは String です。これは [Char] のシノニムであることはあまりにも有名です。リストなので扱いやすいのですが、リストであるがゆえパフォーマンスが出ないんです。 次は ByteString です。ここが混乱しやすいところです。ByteString は全く性質の異なる二種類があります。Data.ByteString と

    Haskell 文字列変換入門 - Qiita
  • ラビン-カープ文字列検索アルゴリズム - Wikipedia

    ラビン-カープ文字列検索アルゴリズム(英: Rabin-Karp string search algorithm)は、マイケル・ラビンとリチャード・カープが開発した、ハッシュ関数を利用してテキストからパターン(サブ文字列)を探す文字列検索アルゴリズムの一種[1][2]。1つのパターンの検索にはあまり用いられないが、理論的には重要であり、複数パターンの検索には効果的である。テキストの文字数が n、パターンの文字数が m とした場合、平均および最良の実行時間はO(n)だが、ごくまれに最悪性能として O(nm)となる(広く用いられないのはそのため)。しかし、k個の文字列のいずれかにマッチする部分を検索するのに要する時間は k によらず平均で O(n) となるという独特の利点を持つ。以下、単にラビン-カープまたはラビン-カープ法と略記することがある。 ラビン-カープの単純な応用例として、盗作の検出

  • 1