開始時間と終了時間によって特徴付けられる大規模な (~10 9 ) イベントのセットがあります。与えられた時間で、その時点で進行中だったイベントの数を見つけたいと思います。
この状況では、どのような種類のデータ構造が役立つでしょうか? 高速にする必要がある操作は次のとおりです。
- などの新しいイベントを挿入します
{start: 100000 milliseconds, end: 100010 milliseconds}
。 - 特定の時間における同時イベント数のクエリ。
更新: 誰かがこれに計算幾何学のフラグを立てたので、計算幾何学の観点からこれを言い換える必要があると思います。1 次元の間隔のセットがあり、それらの間隔のうち、特定の点と交差する数を計算したいと考えています。新しい間隔の挿入は高速でなければなりません。