私はPythonでコーディングしています。このコンテンツの比較に共通のアルゴリズムはありますか?これは何と呼ばれていますか?
私はセットのリストを持っています。これらの集合は整数を含む。 2つのセットが整数項目を共有する場合、それは「接続」されます。私の目標は、これらのセットのすべてがすべて、相互接続されたセットまたは相互に接続されたセットの複数のグループとは対照的に、単一のグループにすべて相互に接続されているかどうかを判断することです。
共通のアルゴリズムがありますか?それは広く適用可能な目標のようです。
これは私の提案されたソリューションです:最初のセットで
開始し、内容が他のセット
共有コンテンツとの任意のセットを削除し、他のコンテンツを追加して共有されているかどうかを確認するには最初の設定
繰り返し変化がないまでに最初にすべての他のセットが削除された場合は、その後、彼らはすべての に接続されている
設定私は、各セットが互いに接続されている場合、単純にチェックし、相互に接続されたセットだから、
o--o--o o--o--o
の別々のグループからセット
o--o--o--o--o--o
の1本の相互接続チェーンを区別したい明確化
セットでは不十分です。ここで
Pythonには、サブセットを決定するための演算子があります。私はあなたが求めている "アルゴリズム"はNP-Completeである "set-cover"だと思います。 –
@ cricket_007彼の説明から、それは接続されたコンポーネントのように思えます。 – amit