5.6. Was wir nicht beschrieben haben

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

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 Klassen node_matrix und node_map2

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.

Statische Graphen

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.

Die Klassen face_array und face_map

Zu den Faces einer Map können durch die Klassen face_array und face_map Informationen assoziiert werden.

Die Klassen planar_map und PLANAR_MAP

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.

Mit numerischen Typen templatisierte Funktionen

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.

Das gml-Format

Neben dem Standardformat zum Abspeichern von Graphen (Dateiendung .gw) gibt es aus historischen Gründen auch noch das gml-Format (Dateiendung .gml).