さまざまなソースからいくつかの入力があります。入力はキーと値のペア形式です。キーは「abc」形式です。異なるソースからのキーは同じである可能性があり、その場合、すべての値のセットを実行する必要があります。
データ構造で行う必要があること:
- 特定のソース ID のすべてのキーと値を取得できるはずです
- キーを指定すると、ソース ID に関係なく、それに関連付けられているすべての値を見つけることができるはずです。
これを実現するために使用できるスペース効率の良いデータ構造が 1 つ以上必要です。私は当初、2 つのマップを保持することを考えていました。1 つはソース ID とキー、もう 1 つはキーと値です。しかし、ここではソース ID から値へのマッピングが失われています。
速度/スペースの要件: キーごとに値のリストを取得する速度は重要です。これらのデータ構造を維持するために必要なメモリも同様です。このデータ構造とソース ID からキー/値の取得速度を構築するのにかかる時間は重要ではありません。
助言がありますか?