antaのWeb日記

あくまで日記として

Suffix Treeを見た

Ukkonen'sを実装したりした。

graphvizで描画するとなんかかっこいい。

Suffix Arrayでも同じことができて、メモリ消費も少ない。Suffix Treeの利点は?

文字種が少なければ線形なので速いのかな?

文字種が多い時、各ノードに配列を持つのはかなりきつい。

Linked Listも文字種が少ない時はいいけれど多くなるとΘ(|Σ|)がきいてくる。

平衡木やハッシュマップはlog nや定数がまあまあある。

一番いい方法はどういう方法なんだろう?

『次数が少ないうちはリストで、閾値以上になったら配列にする』を考えてやってみた。

ランダム入力で文字種256くらいで閾値を適切に選べばまあまあよかった。

これってどうなんだろう?閾値に対して平均計算力とか出せる?

木なので、それがいいよね。いろいろとできそう。

とりあえずwikipediaにあるアルゴリズムは実装したい。そしたらSuffix Tree特集をしよう。