大きな (> 百万要素) ツリーがあり、各要素には外部のものを参照する「オフセット」フィールドがあります。私は両方を行う必要があります:
- 任意の位置に新しい要素を挿入します。挿入するたびに、後の要素の「オフセット」フィールドがいくらか増加します。
- 要素のオフセット値をすばやく取得します。
2 が必要でない場合は、前のオフセットに対する相対的なオフセットを保存します。挿入後にすべてを更新する必要はありません。しかし、それは、1 つの要素の絶対値を計算するために、以前のすべてのオフセットを合計する必要があることを意味します。
この種のことを行う標準的な方法はありますか?たとえば、n 番目の要素ごとに絶対オフセットがあり、他の要素のオフセットは前の絶対オフセットに相対的であり、どちらの場合も少量のトラバーサルを行う必要があるという妥協案を考えていました。