.netのトライ実装を探しています。.netの効率的なトライ実装
私はインメモリオブジェクトプールのインデックス構造として使用する予定です。スレッドセーフである必要はなく(スレッドを1つしか更新しないので)、少なくとも2千万のアイテムを優雅にかつ一定のパフォーマンスで対処できるはずです。
ネット上で見つかったものは、サンプルコードまたはおもちゃプロジェクトのようです。だから、私は本当に生産品質の実装を探しています。利用可能であれば、商用ライブラリもOKです。
PS:あまりにも多くのメモリを使用していて、配列に基づいてメモリの断片化を引き起こす傾向があると思われるハッシュテーブルの実装のように試行を選択しました。 O(1)ルックアップ特性および多数の項目に対する良性のメモリ使用特性を有するそのようなコンテナもOKであり得る。
は、.NET独自のメモリ管理は、私がお勧めしたい方法ではありません第二推測しようとする私の個人的意見では、
2000万項目を?この場合のトライのメモリ使用量は、辞書/ハッシュテーブルよりも大きいことがほぼ保証されています - おそらく数桁の大きさで...実際にはオブジェクトのメモリプールが必要ですか? .Net独自のメモリ管理は非常に堅実です。 –
あなたが試した標準的なデータ構造はどれですか? (理由を説明してください) – Peter