でn識別されるセットがsetIdあり、それぞれに任意の数の要素を含むことができます(elementId, priority)。
私のアルゴリズムは、入力 two を受け取り、2 つの入力セットの共通部分にあり、優先度が最も高い (優先度の合計)setId最初の要素を含むセットを出力に与える必要があります。m
例:
n=3, m=1
Set1: { (1, 1), (12, 2) }
Set2: { (1, 4), (23, 6), (33, 22) }
Set3: { (33, 1), (1, 16 }
Input: Set2, Set3
Output: { (33, 23) }
私の質問は、無限のスペースがあると仮定すると、パフォーマンスを最適化するために使用できる最良のデータ構造は何ですか?
もちろん、考えられるすべての交差を事前に計算することは有効な答えではありません。
編集:
現実的な数字:
n、セット番号、は~ 10^6- セットの平均カーディナリティは です
~ 5*10^3。