Balancierter Spannbaum (T) aus ungerichtetem Graphen

9

Ich habe einen ungerichteten Graphen verbunden. Ich suche nach dem Weg, um den balancierten Spannbaum (T) eines Graphen zu konstruieren

Das Spezifische über den ausgeglichenen Spannbaum könnte ich wie folgt definieren:

  1. Wenn die Wurzel des Baumes r .All ist Knoten könnten in die unterteilt werden levels.Ie alle Knoten, die Abstand von der r (in T) ist j sind in der Ebene Lj, ​​etc.
  2. Für jeden Knoten w kann man für a definieren Unterbaum T_w von T, so dass w ist sein root.
  3. Ziel ist es, Spanning Tree zu definieren so für jede Ebene Li, für jeweils zwei Knoten u und v in Level Li die Anzahl der Knoten in der T_u und T_v ist maximal gleichwertig.

Kann irgendjemand irgendeinen Algorithmus / Algorithmen zum Aufbau eines solchen "relativ" ausgeglichenen Spannbaums empfehlen?

Vielen Dank im Voraus.

    
Yakov 25.01.2011, 16:18
quelle

3 Antworten

2

Ich bin mir nicht sicher, ob dein Ausdruck "maximal gleichwertig" ist.

Dieses Problem hat vielleicht keine perfekte Lösung, also liegt es auf der Hand, wie viel besser wir machen können?

Dieses Problem scheint allgemein NP-vollständig zu sein. Einige gierige Ansätze können zu konstanten Annäherungsalgorithmen führen, wenn Sie Glück haben.

    
singhsumit 04.04.2011, 09:20
quelle
0

Das scheint trivial zu sein. Sei G dein Graph. Es ist verbunden, also gibt es eine Kante zwischen jedem Knotenpaar. Konstruieren Sie mit der Definition einen beliebigen ausgeglichenen Spannbaum G 'mit der gleichen Anzahl von Scheitelpunkten wie G. Ausgehend von r in G' und einem beliebig gewählten Knoten von G, ordnen Sie jeden Eckpunkt in G 'zu a zu Vertex in G. Löschen Sie alle Kanten in G, die in G 'keine entsprechende Kante haben.

Der resultierende Graph - nennen wir ihn U für "updated G" - hat nach Konstruktion die gleiche Anzahl von Scheitelpunkten wie G ', und nach Konstruktion existiert eine Kante in U, wenn die entsprechende Kante in G' existiert. Also ist U = G 'und es folgt, dass U ein balancierter Spannbaum ist.

    
Charlie Martin 05.03.2011 17:37
quelle
-2

Sie möchten Ihren Baum als AVL-Baum erstellen.

Sie finden zusätzliche Informationen und Code, der für die Implementierung verwendet wird, beginnend mit Seite 12 dieses PDF-Dokuments .

Dieses PowerPoint-Dokument enthält einige schöne Bilder, die erklären, was vor sich geht, und enthält außerdem ein Java-Implementierung des Datentyps AVL Tree.

    
oosterwal 05.04.2011 13:10
quelle

Tags und Links