タグ

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

  • 文字列マッチングのためのLCP Arrayを構築する - $shibayu36->blog;

    前回のブログ記事で、文字列マッチングをするためのSuffix Arrayという構造を構築した。このSuffix Arrayという構造だけでも、テキスト長をn、パターン長をmとして、の計算量で文字列マッチングできるようになった。 suffix arrayを一番簡単なアルゴリズムで実装する - アルゴリズム学習(その6) - $shibayu36->blog; suffix array構築のメモリ効率を良くする - アルゴリズム学習(その7) - $shibayu36->blog; しかし、前処理としてSuffix ArrayからLCP Array(Longest Common Prefix Array)という構造をさらに作っておくと、という計算量で文字列マッチングが出来るようになるらしい。そこで、今回はLCP Array(Longest Common Prefix Array)の構築を実装し

  • バイト文字列とUnicode文字列 - ひきメモ

    Pythonの文字列にはバイト文字列とUnicode文字列の二種類があります。 print "ぱいそん" # バイト文字列 => ぱいそん print u"ぱいそん" # Unicode文字列 => ぱいそん バイト文字列 バイト文字列はいわゆる普通の文字列で、指定された文字エンコーディングに従って変換されたバイト列です。ですから、同じ文字列でも文字エンコーディングが違うと、出力される結果は同じでも、内部的には違うデータです。 # encoding=shift_jis str = "ぱいそん" print str #=> ぱいそん print [str] #=> ['\x82\xcf\x82\xa2\x82\xbb\x82\xf1'] # encoding=iso-2022-jp str = "ぱいそん" print str #=> ぱいそん print [str] #=> ['\x1b$

    バイト文字列とUnicode文字列 - ひきメモ
  • 1