0

試行を使用して辞書を作成する必要があります。アルファベットの文字数が 26 から 120 に増加するため、リーフ ノードの数は指数関数的に増加します。ルックアップ、挿入、および削除の時間が指数関数的に増加しないようにするには、どのような最適化を使用できますか?

編集 質問をより明確にします。詳細が不足していて申し訳ありません。基数ツリーのようなマルチウェイ トライを使用し、それにいくつかの変更を加えています。私の質問は、ワード サイズが (確実に) 26 から 120 に増加することがわかっている場合、ツリーの深さが増加するということです。キーを 64 ビット以上に増やすことで深さの増加を減らすことは可能ですか (レジスタは最大 64 ビットをゴールドにすることができます)?

4

2 に答える 2

0

多くの場合、キーのバイナリ表現に基づいてパス圧縮 (パトリシアの試行) を使用してバイナリ試行を使用することをお勧めします。そうすれば、可能な限り最小のアルファベットの利点が得られますが、キーごとに 2 つのノード (1 つのリーフと 1 つの内部) しかありません。

于 2016-03-25T04:37:21.793 に答える