Übung Grundbegriffe der Graphentheorie 1

Aus ProgrammingWiki
Archivierte Version vom 2015-10-25T16:32:21+00:00. Aktuelle Version

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
    1. als Adjazenzmatrix
    2. als Adjazenzliste
  • Analysiere empirisch die Effizienz dieser beiden Datenstrukturen hinsichtlich
    1. Speicherbedarf
    2. Ermittlung des Knotengrades
    3. 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
  • Die implementierte Klasse YourGraph könnte folgendermaßen mit einem Zufallsgraphen getestet werden