Lernziele
Die Klasse ugraph |
Die Klassen node_matrix und node_map2 |
| Statische Graphen |
Die Klassen face_array und face_map |
Die Klassen planar_map und PLANAR_MAP |
| Mit Zahlentypen templatisierte Funktionen |
| Das gml-Format |
Die Klasse ugraph
implementiert ungerichtete Graphen. Sie wird vor allem von LEDAs
internen Algorithmen benutzt und sollte nicht in eigenen
Programmen verwendet werden; alleine schon deshalb nicht,
weil die Schnittstellen der vorgefertigten Graphenalgorithmen von
LEDA alle einen graph als Eingabe
erwarten.
Die Klasse node_matrix erweitert das
Konzept von node_array auf zweidimensionale
Indexmengen. (Beide Indizes sind Knoten). Sie tritt z. B. als Typ
eines Parameters der Funktion
ALL_PAIRS_SHORTEST_PATHS() auf, der die
Distanz von jedem Knoten zu jedem anderen festlegt. Dem
entsprechend erweitert die Klasse node_map2
das Konzept der Klasse node_map ebenfalls auf
zweidimensionale Indexmengen.
Ab der Version 4.5 von LEDA gibt es eine eigene, besonders effiziente Klasse für statische Graphen, d. h. für Graphen, die sich nach ihrer Aufbauphase nicht mehr dynamisch ändern. Die entsprechende Manualseite enthält weitere Informationen zu diesem Graphentyp.
Zu den Faces einer Map können durch die Klassen face_array
und face_map
Informationen assoziiert werden.
Mit der Klasse planar_map
können kombinatorische Einbettungen von planaren Graphen
verwaltet werden, wie wir sie in Abschnitt 5.2.6 kennen gelernt haben.
Die Klasse PLANAR_MAP
erlaubt es, zu den Knoten, Kanten und Faces einer planaren Map
zusätzliche Informationenen zu assoziieren.
Viele Funktionen aus shortest_path.h,
max_flow.h,
mwb_matching.h und
mw_matching.h gibt es auch in einer
templatisierten Version, bei der der numerische Typ der
Kanteninformationen angegeben werden kann (und daher nicht
unbedingt int sein muss). Durch Verwendung eines
numerischen Typs mit größerem Definitionsbereich und/oder größerer
Präzision können methodisch bedingte Rundungsfehler vermindert
werden.
Neben dem Standardformat zum
Abspeichern von Graphen (Dateiendung .gw)
gibt es aus historischen Gründen auch noch das gml-Format (Dateiendung
.gml).