以下のように、リアルデータベースに親と子のマッピングがあります。
relationship_id | parent_id | child_id
1 | 100009 | 600009
2 | 100009 | 600010
3 | 600010 | 100008
パフォーマンスを最適化するために、これらすべてのマッピングをメモリに保持したいと考えています。ここでは、子には複数の親があり、親には 2 つ以上の子があります。「グラフ」データ構造を使用する必要があると思います。
メモリへのデータの取り込みは、1 回限りのアクティビティです。私の懸念は、すべての子 (直接の子だけでなく) をリストするように依頼すると、できるだけ早くそれらを返す必要があることです。追加と削除はまれに発生します。どのデータ構造とアルゴリズムを使用すればよいですか?
検索時間を達成するためにMultiHashMapを試しましO(1)
たが、冗長性が高くなります。