Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

10 Graphen gerichtete und ungerichtete, mit Marken an Ecken und/oder Kanten Anwendungsgebiete: Verkehrsnetze, Kommunikationsnetze, Netzpläne, Spiele,...

Ähnliche Präsentationen


Präsentation zum Thema: "10 Graphen gerichtete und ungerichtete, mit Marken an Ecken und/oder Kanten Anwendungsgebiete: Verkehrsnetze, Kommunikationsnetze, Netzpläne, Spiele,..."—  Präsentation transkript:

1 10 Graphen gerichtete und ungerichtete, mit Marken an Ecken und/oder Kanten Anwendungsgebiete: Verkehrsnetze, Kommunikationsnetze, Netzpläne, Spiele,... Typische Fragestellungen: (kantenmarkiert) Wegsuche:existiert WegA  B ? günstigster WegA  B ?* ungünstigster WegA  B ?* günstigster RundwegA  A?* alle... WegeA  x oder x  y ?(*) Struktur:zyklisch? zusammenhängend? minimalen Spannbaum finden*

2 10.1 Spezifikation objektorientiert durch Spezifikation von Ecken-Objekten, bei vereinfachender Voraussetzung „nur ein Graph im Programm“ interface Node { Node create(); // creates unmarked node void mark(); // marks node boolean marked(); // checks mark void connect(Node n); // creates edge to node n Set succs(); // delivers successors... }

3 10.2 Repräsentation Adjazenzmatrix nach Durchnumerieren der Ecken 1,2,..,n, Boolesche n*n-Matrix A mita ik = (i,k)  K Bei Kantenmarkierung m(i,k): a ik = m(i,k) (undefiniert falls keine Kante) Adjazenzlisten nach Durchnumerieren der Ecken 1,2,..,n, n-Vektor von Mengen der Nachfolger jeder Ecke, bei Kantenmarkierung inklusive der Marken Geflechte: Ecken als Objekte, Kanten als Verweise, Markierungen den Verweisen zugeordnet

4 10.3 Implementierung am Beispiel Geflecht für gerichteten Graphen mit unmarkierten Kanten class LinkedNode implements Node { protected boolean mark = false; protected Set succs = new Set (); public Node create() {return new LinkedNode();} public void mark() {mark = true;} public boolean marked() {return mark;} public void connect(Node n) {succs.insert(n);} public Set succs() {return succs;}... }

5 10.4 Traversieren und Suchen Traversieren eines Graphen G ab Startecke w („Wurzel“) = Durchlaufen aller von w aus erreichbaren Ecken (unter Berücksichtigung der Kantenrichtung) als Tiefendurchlauf oder Breitendurchlauf der Expansion X(w) von G Beachte: i.a. werden nicht alle Ecken erreicht !


Herunterladen ppt "10 Graphen gerichtete und ungerichtete, mit Marken an Ecken und/oder Kanten Anwendungsgebiete: Verkehrsnetze, Kommunikationsnetze, Netzpläne, Spiele,..."

Ähnliche Präsentationen


Google-Anzeigen