私は次の問題の解決策を探しています。このトピックに関する既存の研究を誰かが私に指摘できるかどうか疑問に思っています。私はグラフの実際のアプリケーションから来ているので、私の用語が正確でない場合は我慢してください。
ユーザーが関係を作成、削除、変更してオブジェクトを追加、削除、移動できるデータベースシステムがあります。そのため、オブジェクトをグラフの頂点として見ることができ、関係はエッジであり、関係のタイプ(構成、関連付け、または集約)に応じてエッジに重みを付けることができます。
ユーザーの観点から見ると、新しい要素の追加はシングルクリックで可能で、フードの下で、プログラムは関係によってリンクされたオブジェクトのグラフを作成します。このグラフは、データベース全体を定義するメイングラフに追加されます。要素を削除すると、リンク/エッジが切断され、グラフが2つのばらばらなグラフになり、1はデータベース、もう1つは要素とそのサブ要素によって形成される頂点で構成されます。
素なグラフがある場合と、素な2つのグラフが再び1になる場合を判断するための本当に迅速な方法が必要です。Holm、de Lichtenberg、およびThorup(2001 ; pdf)をざっと見ました。それは進むべき道のようですが、著者は頂点の数が固定されたグラフのみを検討していると述べました。アルゴリズムは通常、エッジの追加を段階的に実行するだけで、頂点の追加/削除に拡張されますか?それとも、そのようなシナリオに特化した作品はありますか?