Informatik-Logo
Fakultät für Informatik - Technische Universität München

Lehrstuhl für Effiziente Algorithmen

TUM-Logo

Tips zur Benutzung von LEDA

Für das Praktikum wird LEDA in der Version 4.4 benutzt. Auf den Praktikumsrechner des Lehrstuhls (Raum 03.09.034) befinden sich die Bibliotheken im Verzeichnis /usr/local/LEDA-4.4-complete-i386-linux-suse-7.0-g++-2.95 und können über den Link /usr/local/LEDA angesprochen werden.

Im Unterverzeichnis Manual/cmd befindet sich das Programm xlman, ein Browser für die Dokumentation der verschiedenen Klassen von LEDA. Die Shell-Variable LEDAROOT ist hierbei auf das LEDA Wurzelverzeichnis zu setzen.


Wenn bei der Darstellung der Beispielgraphen Probleme auftreten (z.B. dass die Knoten-/Kantenlabel nicht stimmen oder die Knoten alle auf einem Haufen dargestellt werden), dann kann das daran liegen, dass die GraphWin-Version der Datei und von der benutzten LEDA-Version unterschiedlich sind. Bitte ggf. mit der Praktikumsleitung Kontakt aufnehmen.


Wenn in Graphen trotz richtiger Einstellung der User-Label nichts in den Knoten angezeigt wird, kann es sein, dass die Schrift zu groß eingestellt ist. Die Einstellung der Schriftgrößen für Knoten und Kanten erfolgt mit Hilfe der Funktionen

void set_node_label_font(gw_font_type t, int sz);
void set_edge_label_font(gw_font_type t, int sz);

Beispiel:

gw.set_node_label_font(roman_font, 15);


Wenn man den graph eines graphwin benötigt, muss man darauf achten, dass das graph-Objekt nicht kopiert, sondern per Referenz übergeben wird:

falsch: graph g = gw.get_graph();
richtig: graph &g = gw.get_graph();


Bei der Verwendung der Datenstrukturen node_array und edge_array muss man beachten, dass das Array nur für eine feste Anzahl von Knoten bzw. Kanten definiert ist, d.h. es dürfen i.A. nach der Erzeugung bzw. Initialisierung des Arrays im Graph keine Knoten bzw. Kanten mehr hinzugefügt oder gelöscht werden. Häufig führt dies zu Programmabbrüchen mit Segmentation fault.
Für dynamische Strukturen kann man die Klassen node_map und edge_map verwenden.


Erstellt von Hanjo Täubig am 31.10.2002
Letzte Änderung: Stefan Pfingstl am 06.04.2006