• Keine Ergebnisse gefunden

Automatisches Zeichnen von Graphen

N/A
N/A
Protected

Academic year: 2021

Aktie "Automatisches Zeichnen von Graphen"

Copied!
2
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

3. Übungsblatt

Automatisches Zeichnen von Graphen

Prof. Dr. Jens M. Schmidt, Dr. Alexander Apke, Arne Heimendahl, David Könen und Robin Kühling.

Aufgabe 1: RHHV-Zeichenverfahren (10 Punkte)

Ein Binärbaum heißt ungeordnet, falls für die Knoten des Baumes nicht festgelegt ist, ob sie linkes oder rechtes Kind ihres Vaters sind.

Wir betrachten das folgende RHHV-Zeichenverfahren (Right Heavy Horizontal Ver- tical) für einen ungeordneten Binärbaum T mit Wurzel r. Sei n(v) die Anzahl der Knoten des Unterbaumes T(v). Dann werden die Koordinaten der Knoten rekursiv durch die folgende Funktion berechnet:

RHHV(v, x, y):

Platziere den Knoten v auf den Punkt (x, y);

if v hat nur ein Kind w then RHHV((w, x+ 1, y);

else if v hat die beiden Kinder v1 und v2 then Sei o.B.d.A. n(v2)≥n(v1).

RHHV((v1, x, y+ 1);

Sei xm die größte bisher verwendete x-Koordinate.

RHHV((v2, xm+ 1, y);

end if

Die Zeichnung von T wird nun durch den Aufruf RHHV(r,0,0) erzeugt.

(i) Finden Sie die mit diesem Verfahren entstandene Zeichnung folgenden (unge- ordneten) Binärbaumes.

1

2 3

4 8 7

6

10 9 5

(ii) Zeigen Sie, dass das Verfahren keine Kantenkreuzungen erzeugt.

(iii) Zeigen Sie, dass jede erzeugte Zeichnung Breite höchstens n − 1 und Höhe höchstens dlogne hat.

(iv) Werden isomorphe Unterbäume gleich gezeichnet?

(2)

Aufgabe 2: Ein weiteres Zeichenverfahren (10 Punkte) Ein weiteres mögliches Verfahren, um einen BinärbaumT zu zeichnen, ordnet jedem Knoten als x-Koordinate dessen Position in der Preorder-Traversierung von T zu und alsy-Koordinate dessen Position in der Postorder-Traversierung vonT.

(i) Zeigen Sie, dassv genau dann inT(u) enthalten ist, wennvx > uxundvy < uy. (ii) Zeigen Sie, dass eine mit diesen Koordinaten erstellte geradlinige Zeichnung

von T kreuzungsfrei ist.

(iii) Werden isomorphe Bäume gleich gezeichnet?

(iv) Wie groß ist die Fläche der Zeichnung? Wie lässt sich die Zuordnung der Koordinaten verändern, um die Darstellung kompakter zu machen?

Aufgabe 3: Radialzeichnungen (10 Punkte)

Zeichnen Sie eine geometrisch korrekte radiale Baumzeichnung des folgenden Bau- mes mit dem Algorithmus der Vorlesung und Radien 2,3,4,5,6. Verdeutlichen Sie dabei jeweils, wie die einzelnen Kreissektoren berechnet wurden.

b

h r a

e

l j g i

m

c d f

k

Aufgabe 4: Reingold-Tilford im OGDF (Bearbeitungszeit: 2 Wochen, 10 Punkte) Schreiben Sie ein Programm innerhalb des OGDF, das einen zufälligen Binärbaum Gmit 12 Knoten erzeugt und jedem Knoten daraufhin nach dem Algorithmus von Reingold-Tilford seinex-Koordinate zuweist.

Benutzen Sie dazu die zum Download bereitgestellte Datei Uebung03.cpp. Hier werden die horizontalen Abstände zwischen den Knoten zunächst auf 40 gesetzt, damit eine Beispielausgabe erzeugt werden kann.

Fügen Sie in den Bereich des mehrzeiligen Kommentars Ihre Programmlogik ein, die die x-Koordinaten nach dem Algorithmus von Reingold-Tilford neu berechnet. Um den Baum dabei in Preorder- und Postorder-Traversierung durchlaufen zu können, sollten Sie die implementierten Arrays leftson(G), rightson(G) und parent(G) verwenden.

Referenzen

ÄHNLICHE DOKUMENTE

Es genügt hier, für die einzelnen Schichten die Menge der auf dieser Schicht liegenden Knoten anzugeben.. (ii) Angenommen, Sie haben lediglich Platz für eine Breite b

Als Wurzel des DFS-Baumes soll hierbei der Knoten v 1 gewählt werden und während der Tiefensuche soll immer zunächst der Knoten mit kleinerem Index besucht werden. Benutzen Sie

Aufgabe 5: Chain Decompositions im OGDF (Abgabe bis 16. Januar, 10 Punkte) Schreiben Sie ein Programm innerhalb des OGDF, das für den bereitgestellten Graph christmastree.gml eine

Ein Graph heißt außerplanar, falls er eine planare Einbettung hat, dessen äußere Fläche inzident zu jedem Knoten ist.. Finden Sie einen effizienten Algorithmus, der einen Graph G

Skizzieren Sie, wie folgende Funktion durch die x-Achse läuft oder sie be- rührt, wo sie durch durch die y-Achse läuft und wie sie nach oben, unten, links und rechts ins

(Offensichtliche Folge: Jede gegebene Wurzelfunktion wird irgendwann den natürlichen

Beweisen Sie: Wenn G ein zusammenh¨ angender Graph ist, dann gibt es einen Spannbaum von G, der alle Knoten enth¨ alt.

b) Es gibt eine erkennbare Sprache, f¨ur die es keinen ¨aquivalenten NEA mit genau einem Endzustand gibt. Wenden Sie auf folgenden NEA die Potenzmengenkonstruktion an und berechnen