最適な決定を行うには、さらに多くの要件が必要になります。この提案は、次の制約に基づいています: Alcott 32 ビット整数、約 10.000.000 要素 (つまり、2^32 のうち任意の 10m)
これは、すべてのノードが連続領域の開始と終了の 2 つの値を格納する BST (二分探索木) です。最初の要素にはリージョンの開始番号が格納され、2 番目の要素には最後の番号が格納されます。この配置では、非常に小さな木の高さで 10M の制限に達することを期待して、大きな領域が許可されるため、検索が安価になります。10m 要素のデータ構造は、ノードごとに 8 バイト、さらにリンク (2x4 バイト) をノードごとに最大 2 つの子を使用します。したがって、すべての 10M 要素に対して 80M を作成します。そしてもちろん、通常より多くの要素が挿入されている場合は、挿入されていない要素を追跡できます。スペースに細心の注意を払う必要があり、シミュレーションや統計チェックを実行した後、小さな領域 (長さが 32 ビット未満) がたくさんあることがわかった場合は、ノード タイプを次の 1 つの数値に変更することをお勧めします。地域、
ビットマップへのアクセスを調整する必要がなく、たとえば、要素が 8 つしかない連続したチャンクしかない場合、メモの要件は、ノードに 4+1 バイト、子に 4+4 バイトであるためです。お役に立てれば。