それぞれが 0 個以上のポイントを含む一連のノードがあります。ノード間には重複するポイントがありますが、各ノードにはそのノードに固有のポイントが含まれる場合があります。
例えば:
- ノード A
- ポイント1
- ポイント2
- ポイント3
- ノード B
- ノード C
- ポイント1
- ポイント4
- ノード D
- ポイント2
等
特定の制限まで、最大数のポイントを含むノードの最小数を見つけるアルゴリズムまたは方法はありますか?
上記の例では、4 つの一意のポイントが必要な場合、ノード A とノード C、またはノード A とノード D を取得します。
現在、ノードのリストをポイントの数で降順に並べ替え (ノード A、ノード C、ノード D)、ポイントを持たないノード (ノード B) を破棄することで、この問題を解決しています。次に、一意のポイントの定義されたしきい値に達するまで、そのノードのリストを反復処理し、一意のポイントをカウントします (そして、どのノードが参照されているかを記録します)。したがって、上記の例では、結果はノード A とノード C になります。
価値のあることとして、私はこれをJavascriptで行っていますが、私の質問は「問題を解決する方法」であり、特定の言語とは関係がないと思います. 投稿先が間違っていたらすみません。