web-dev-qa-db-ja.com

1つのノードが消えたときにMSTを整理する方法は?

私は自分の研究をしていて、質問にこだわっています:

最小スパニングツリー(プリムアルゴリズム)を使用していますが、ツリー内の1つのノードが削除されましたが、最適性が維持されるようにツリーを再編成する方法があるのでしょうか。

私はここでいくつかの提案を探しています、そして私はあなたの助けに感謝します。

ありがとうございました!

注:すべてのエッジの重みは1です(単位グラフ)

6
tlc

すべてのエッジの重みが1の場合、すべてのスパニングツリーが最小スパニングツリーです。したがって、最小スパニングツリーが必要であり、スパニングツリーのみに焦点を合わせるという事実を忘れることができます。

これは、プリムのアルゴリズムを使用して元のツリーを構築するのは無駄であることを意味します。プリムのアルゴリズムでは、各ステップで最小の重みを追加する必要があります。ただし、すべての重みが同じであるため、エッジがサイクルを引き起こさない限り、どのエッジを追加してもかまいません。

ノードを削除する場合、2つの可能性があります。ノードがツリー上のリーフであった場合、新しいツリーは引き続きグラフ全体に広がります。その場合は完了です。それ以外の場合は、2つのツリーになります。スパニングツリーが存在しないグラフが切断されている可能性があります。グラフが接続されていると仮定すると、2つのツリーを接続するスパニングツリーに任意のエッジを追加できます。

1
Winston Ewert

グラフから頂点(MST)を削除した場合、必ずしもツリーが残っているとは限りません。

  • 削除する頂点が cut vertex の場合、グラフは切断され、ツリーではなくなります。

  • 頂点を削除してもグラフが接続されたままの場合は、すべてのエッジの重みが等しいと述べているため、MSTのままです。エッジの重みが等しいグラフのスパニングツリーは、最小スパニングツリーです。

0
David