Übung Grundbegriffe der Graphentheorie 1
Aus ProgrammingWiki
Archivierte Version vom 2015-11-02T19:45:18+00:00. Aktuelle Version
Inhaltsverzeichnis |
Datenstrukturen für Graphen
- Gegeben ist folgendes IGraph Interface mit einer Hilfsklasse Edge zur einfacheren Behandlung von Kanten
Aufgabe
- Erstelle 2 Klassen die das IGraph Interface implementieren
- als Adjazenzmatrix
- als Adjazenzliste
- Analysiere empirisch die Effizienz dieser beiden Datenstrukturen hinsichtlich
- Speicherbedarf
- Ermittlung des Knotengrades
- Prüfung auf Adjazenz zweier Knoten
Hilfestellung
- Es wird ein Graph-Generator bereitgestellt, der das IGraph Interface benutzt um zufällige Graphen zu erzeugen
- Mit generate werden dem Graph g eine entsprechende Menge von Knoten (cntVertex) und Kanten (cntEdges) zur Initialisierung übergeben
- Die richtige Umsetzung der Speicherung wird mit den Funktionen getVertices und getEdges automatisch geprüft
- Deine implementierte Klasse YourGraph könnte also folgendermaßen mit einem Zufallsgraphen getestet werden
Lösungen
Grundbegriffe
Aufgabe
| Knoten | Kantenzug | geschlossener Kantenzug | einfacher Weg | Weg | einfacher Kreis | Kreis |
|---|---|---|---|---|---|---|
| {A,B,C} | Detailsnein | Detailsnein | Detailsja | Detailsja | Detailsnein | Detailsnein |
| {M,G,H,M} | Detailsnein | Detailsnein | Detailsnein | Detailsnein | Detailsja | Detailsja |
| {L,M,G,H,M,L} | Detailsnein | Detailsja | Detailsnein | Detailsnein | Detailsnein | Detailsnein |
| {Q,O,N,P,Q,M} | Detailsnein | Detailsnein | Detailsnein | Detailsja | Detailsnein | Detailsnein |
| {G,E,D,G,F,D,G,E} | Detailsja | Detailsnein | Detailsnein | Detailsnein | Detailsnein | Detailsnein |
| {L,H,G,E,D,G,M,L} | Detailsnein | Detailsnein | Detailsnein | Detailsnein | Detailsnein | Detailsja |
Aufgabe
a) Finde mindestens zwei Artikulationen.
Konten {J} und {L}
b) Finde mindestens zwei Brücken.
Kanten {Q,M} und {J,K}
c) Führe eine Kontraktion mit K durch.
Ergebnis: Kante {J,K} und Knoten {K} werden entfernt, sodass ein Fahrrad ohne Lenkrad übrigbleibt
Aufgabe
a) Finde zwei Untergraphen
b) Skizziere aus einem Untergraphen verschiedene Teilgraphen
c) Erstelle einen induzierten Teilgraphen aus einem Rad
d) Erstelle einen spannenden Teilgraphen aus einem Rad
Aufgabe
Stell den Punkt I auf G um (gedanklich). Führe folgende Operationen durch:
a) Vereinigung
b) Durschnitt
c) Differenz
d) Erstelle aus einem Rad den Komplementärgraph

