Graphrepräsentationen WS13-14
Inhaltsverzeichnis |
Grundbegriffe der Graphentheorie
Datenstrukturen für Graphen
Auswahl - Operationen für Graphen
Die Wahl der Darstellung eines Graphen muss immer im Bezug auf die mit den Daten durchzuführenden Operationen erfolgen. Die Operationen sind problemabhängig. Die wichtigsten Operationen für Graphen sind:
- Feststellen, ob ein Paar von Ecken benachbart ist.
- Bestimmung der Nachbarn einer Ecke.
- Bestimmung der Nachfolger und Vorgänger einer Ecke in einem gerichteten Graphen.
Neben der Effizienz der Operationen spielt auch der Speicherplatzverbrauch eine große Rolle bei der Wahl einer Datenstruktur. Hierbei stellt man häufig Wechselwirkungen zwischen Speicherplatzverbrauch und Effizienz fest. Eine sehr effiziente Erledigung der Operation benötigt oft mehr Speicherplatz, als eine weniger effiziente. Weiterhin muss Beachtung finden, ob es sich um eine statische oder eine dynamische Anwendung handelt. Bei dynamischen Anwendungen wird der Graph verändert, hierbei benötigt man Operationen zum Löschen und Einfügen von Ecken und Kanten. Oft sollen nur Graphen mit einer speziellen Eigenschaft (z.B. ohne geschlossene Wege) dargestellt werden. In diesen Fällen kann man durch die Wahl einer spezialisierten Datenstruktur die Effizienz weiter steigern.
Adjazenzmatrix
Um einen Graph G darzustellen bietet sich eine n*n Matrix A(G) an. Hierbei ist der Eintrag a_i_j von A(G) gleich 1, wenn es eine Kante von i nach j gibt, andernfalls gleich 0.