基数木
基数木は簡単に言えばメモリ使用量を最適化したトライ木であり、トライ木で子ノードが1つしかないノードを子ノードとマージしたものである。その結果、内部ノードは必ず2つ以上の子ノードを持つことになる。通常のトライ木と異なり、辺には1つの文字だけでなく文字の並びがラベルとして付与される。これは、集合が小さい場合(特に長い文字列の集合)や長い接頭部を共有する文字列の集合などで効果を発揮する。
以下のような主な操作がサポートされており、いずれも O(k) である(k は集合内の最大文字列長)。