私は試験からの質問があり、私のアプローチがこの質問に適しているかどうかを知りたいと思います。スパニングツリーの最小限の問題は正しい解決法ですか?
Input: graph G(V,E),weight function f:E->R and edge e=(u,v).
output: algorithm that finds a minimum spanning tree with edge e in it.
私のソリューションクラスカルのアルゴリズムを実行し、それが存在しない場合は、エッジeを追加することで、それは木がn-1のエッジであるので、我々は、円を通過して円を作り、最大のエッジを削除する必要があります(その円に存在するものではありません。
は私の解決策ですか?もしそれがあればそれを証明する方法、誰かがなぜ私に教えてくれるのですか?
(PS私はこの質問のためのソリューションは、ちょうど私のアプローチが正しいかどうかを知りたいき)
eが最小スパンツリーの一部である場合、あなたは幸いです。そうでなければ、それを追加することは間違いなく円を作る(そうでなければ 'e'はスパニングツリーの一部でなければならない)が、エッジを削除する次のステップはまた、エッジが削除されたときにグラフを切断できないことを考慮する必要がある。 – apokryfos
FWIWオリジナルのソリューションも正しいと思います(ただし、Sandipanの提案と同じように実装するのは簡単ではありません)。あなたがサークルを持っているので、削除したエッジに関係なく、グラフは常に接続されたままであり、同じスパニングツリーも生成されます。 –