Perlの配列は、連結リストとしても使える。
それは便利なんだけど。
ふと考えてみると、どちらも単位時間でできるとは思えない。
いままであまり考えていなかったが、「挿入・削除」「インデックスアクセス」のどちらが
とっても遅いということがない以上、両方が少々遅いのでは?
ということで、Java に移行した。
ひさしぶりなので、クラスをいっぱい作った。
いま考えているアルゴリズムを、もっとも素朴な方法で実装した。
- 接尾辞配列の先頭2単語ずつをみて
- 頻度が最大のbigramを見つけ
- それを1単語にくっつけた文字列を作成し
- 改めて接尾辞配列を作る
- この繰り返しを、エントロピーが落ち着くまで続ける。