III Die Datenstruktur Graph III Die Datenstruktur Graph 10 Kennzeichen von Graphen In diesem Kapitel werden netzförmige Strukturen behandelt. Ähnliche Strukturen sind schon aus dem Anfangsunterricht bei der Darstellung von Hyperstrukturen zwischen Webseiten bekannt. Navigationssysteme L4 Navigationssysteme sind weit verbreitet. Nach der Eingabe von Ausgangspunkt und Zielort schlägt das System eine Route vor. Die Kriterien für diese Route können verschiedenartig sein: • Route mit der kürzesten Strecke, • zeitlich kürzeste Route, • möglichst viel Autobahn. Das System gibt detailliert den Verlauf der Route aus, nach der sich der Benutzer richten soll. Grundlage dieser Systeme sind umfangreiche Landkarten mit den befahrbaren Strecken. Abbildung 1 zeigt zum Beispiel das Autobahnnetz von Deutschland. Andere Streckennetze sind Bahnnetze (IC-Strecken Deutschland; S- und UBahn in der Region München), Flugstrecken, Telefonkabelnetze, Datenkabelnetze (Routing von Datenpaketen im Internet), Hochspannungsleitungen, Abwasserkanäle in einer Großstadt oder Leitungen auf einer Platine. Alle diese Netze werden anhand der Information über Verbindungen zwischen Objekten beschrieben. Arten von Graphen 1 Autobahnnetz Deutschland U engl. vertices 96 Erstellt man aufgrund der Landkarte in Abbildung 1 eine vereinfachte Form des Autobahnnetzes, in der nur die Orte sowie Kreuzungen und Abzweigungen als Kreise eingetragen sind und die Strecken dazwischen als Linien, so erhält man eine Darstellung wie in Abbildung 2. Sie zeigt nur einen kleinen Ausschnitt aus dem gesamten Autobahnnetz; die größeren Orte sind mit ihren Kfz-Kennzeichen markiert und einige der Verbindungsstrecken und Orte ohne Abzweigungen wurden weggelassen. Es entsteht eine netzartige Struktur, die man Graph nennt. Ein Graph besteht aus einer Menge von Knoten (nodes, oft auch U Ecken genannt), die durch Kanten (edges) mit- 10 Kennzeichen von Graphen einander verbunden sind. Von einem Knoten können mehrere Kanten abgehen. Jeder Knoten hat einen eindeutigen Bezeichner. Eine Kante wird durch die beiden Knoten, die sie verbindet, eindeutig beschrieben. Die geometrische Lage der einzelnen Knoten und die Wegführung der Kanten sind für die grafische Darstellung irrelevant – wichtig ist nur die Information, welcher Knoten mit welchem verbunden ist. 2 Teilgraph aus dem Autobahnnetz Deutschland Der Graph in Abbildung 2 hat 14 Knoten und 19 Kanten. In der Mengenschreibweise lässt sich dieser Graph darstellen als: • Menge der Knoten = {KA; F; S; WÜ; FD; UL; LI; A; M; N; HO; R; PA; RO} und • Menge der Kanten = {KA/F; KA/S; S/WÜ; WÜ/UL; M/N; …}. Ein Pfad oder Weg ist eine Folge von Knoten, wobei aufeinanderfolgende Knoten durch eine Kante miteinander verbunden sind. M/N/WÜ/F ist zum Beispiel ein Pfad von M nach F. Es gibt aber auch „Irrwege“ von M nach F, wie etwa: M/N/WÜ/UL/S/WÜ/F. Man erkennt dies sofort daran, dass WÜ im Weg zweimal vorkommt. Ein einfacher Pfad ist daher ein Pfad, auf dem sich zwischen Startpunkt und Zielpunkt kein Knoten wiederholt. Ein anderer interessanter Pfad ist der Pfad N/WÜ/UL/A/M/N. Er hat denselben Startund Zielpunkt, verläuft also im Kreis. Ein Zyklus ist ein einfacher Pfad, bei dem der Startknoten und der Endknoten identisch sind. Ein Graph ist zusammenhängend, wenn von jedem Knoten zu jedem anderen Knoten mindestens ein Pfad existiert. Das bedeutet: Es gibt keine isolierten Knoten bzw. keine Inseln von Knoten. Im Folgenden werden nur zusammenhängende Graphen betrachtet. Für das Navigationssystem ist es sehr wichtig, welche Strecke zwischen den Knoten zurückzulegen ist. Üblicherweise trägt man im Graphen die Entfernung in km entlang der Kanten ein. Aufgrund dieser Information kann das Navigationssystem die kürzeste Entfernung zwischen zwei Orten bestimmen. Durch die Entfernungsangabe erhalten die Kanten ein unterschiedliches Gewicht, man spricht von einem gewichteten Graphen (oder bewerteten Graphen). Ein Graph wie in Abbildung 2 heißt ungewichteter Graph. 3 Teilgraph Autobahnnetz mit km-Angaben 97