Graphen Ein Graph ist eine Kollektion von Knoten und Kanten. Knoten sind einfache Objekte. Sie haben Namen und können Träger von Werten, Eigenschaften.

Slides:



Advertisements
Ähnliche Präsentationen
8. Termin Teil B: Wiederholung Begriffe Baum
Advertisements

Algorithmen für das Erfüllbarkeitsproblem SAT
Man bestimme den „minimalen aufspannenden Baum“ des Graphen.
Programmierung 1 - Repetitorium WS 2002/2003 Programmierung 1 - Repetitorium Andreas Augustin und Marc Wagner Homepage:
Eine dynamische Menge, die diese Operationen unterstützt,
Programmierung 1 - Repetitorium
Minimum Spanning Tree: MST
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (26-Graphenalgorithmen: Wiederholung und Übung) Prof. Th. Ottmann.
7.2 B-Bäume / B*-Bäume als Hilfsmittel zur Indexorganisation
Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
LS 2 / Informatik Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
7. Natürliche Binärbäume
R. Der - Vorlesung Algorithmen und Datenstrukturen (Magister)
Marco Barz Seminar über Algorithmen SoSe2007
Programmieren 2 Future Car Projekt Praktikum 6
Baumstrukturen Richard Göbel.
WS Algorithmentheorie 13 - Kürzeste (billigste) Wege Prof. Dr. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (20 – Graphen)
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (26 - Graphen) Prof. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (27 – Kürzeste Wege) Prof. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (17 – Bäume: Grundlagen und natürliche Suchbäume) Prof. Th. Ottmann.
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (21 – Kürzeste Wege) T. Lauer.
Algorithmentheorie 12 – Spannende Bäume minimalen Gewichts
Union-Find-Strukturen
Algorithmen und Datenstrukturen
Seminar parallele Programmierung SS 2003
EINI-I Einführung in die Informatik für Naturwissenschaftler und Ingenieure I Vorlesung 2 SWS WS 99/00 Gisbert Dittrich FBI Unido
1 Kap. 2 Graphen Kap. 2.1 Netze Beispiele: MVV, Autobahnen, WIN, E/R, LH-Flüge, Stützgraphen, Petri-Netze, SIPs, ISA-Hierarchien, Operator-Graphen, Wartegraphen.
Klausur „Diskrete Mathematik II“
Schiller-Gymnasium Hof Manuel Friedrich OStR,
Minimum Spanning Tree: MST
Vortrag über Graphen Von Jörg Hendricks.
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Diskrete Mathematik II Vorlesung 1 SS 2001 Algorithmus von Dijkstra.
Effiziente Algorithmen
Flüsse, Schnitte, bipartite Graphen
Effiziente Algorithmen
Effiziente Algorithmen
Geoinformation I Vorlesung 8 WS 2000/2001 Graphen.
Diskrete Mathematik II
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen
Effiziente Algorithmen
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Information und Kommunikation Hartmut Klauck Universität Frankfurt SS
Quantum Computing Hartmut Klauck Universität Frankfurt WS 04/
Institut für Theoretische Informatik
Graphen und Bäume.
Kapitel 8: Graphalgorithmen 8. 1 Grundlagen 8
Informatik Datenstruktur Graph 3.1 Einfache Graphen
Kapitel 8: Graphalgorithmen 8. 1 Grundlagen 8
Informatik Datenstruktur Graph 3.3 Durchlaufen von Graphen
Petrinetze 1. Einführung Informatik : wesentlich Modellierung von
se_4_graphen_und_baeume_I.ppt1 Softwareengineering Graphen und Bäume 1 Prof. Dr.-Ing. Axel Benz, Berlin School of Economics and Law.
Analyse der Laufzeit von Algorithmen
10 Graphen gerichtete und ungerichtete, mit Marken an Ecken und/oder Kanten Anwendungsgebiete: Verkehrsnetze, Kommunikationsnetze, Netzpläne, Spiele,...
Minimal spannende Bäume
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Diskrete Mathematik II Vorlesung Datenstrukturen für den Algorithmus von.
VRS Liniennetzplan der Bonner Innenstadt
Version vom Max-Flow in Orientierten Matroiden Winfried Hochstättler & Robert Nickel Fernuniversität in Hagen Lehrstuhl für Diskrete Mathematik.
Matchings (Paarungen) in Graphen
Binärbäume.
Einführung in die Informationsverarbeitung Teil Thaller Stunde V: Wege und warum man sie geht Graphen. Köln 14. Januar 2016.
Wiederholung Verband Ungerichtete Graphen Partielle Ordnung
 Präsentation transkript:

Graphen Ein Graph ist eine Kollektion von Knoten und Kanten. Knoten sind einfache Objekte. Sie haben Namen und können Träger von Werten, Eigenschaften etc. sein. Kanten sind Verbindungen zwischen Knoten

Definition und Beispiele Mathematisch ist ein Graph G eine zweistellige Relation auf einer beliebigen Menge V. Jede beliebige Teilmenge G ⊆ V x V ist ein Graph. Ein Graph ist Menge von Paaren der Form (v,w) mit v є V und w є V. test

Beispiele V= Menge aller Flughäfen in Deutschland G= {(x,y) є V x V | Es gibt einen Direktflug zwischen x und y}. Sei G ⊆ V x V. Die Elemente von V sind die Knoten des Graphen. Sie können als Kreise dargestellt werden. Die Elemente (x,y) є G sind die Kanten. Sie können als Pfeil von x nach y dargestellt werden: A

Ein Graph

Symetrischer Graph Ist G⊆ V x V ist symmetrisch, dann ist der Graph ungerichtet. Bei einem solchen Graphen gehört zu jedem Pfeil von x nach y auch ein Pfeil von y nach x: A A ↹ ↹

Gewichteter Graph Bewerteter Graph Jeder Kante ist ein Wert zu geordnet Dieser Wert kann ganzzahlig oder reel sein

Wege und Zusammenhang Ein Weg(Pfad) in einem Graphen ist eine Folge x=Ka,Kb,….Kn=y von Knoten, in der es jeweils Kanten von Ka nach Kb usw. Bis Kn gibt. Man spricht von einem Weg von x nach y. Auf einem einfachen Weg kommt kein Knoten doppelt vor.

Zyklus Ein einfacher Weg von x nach x heißt Zyklus. Bsp:B,C,A,D,A Weg von B nach A Zyklus A,D,A C,A,B,E einfacher Weg) F,F,F,G (kein einfacher)Weg A,B,C,A Zyklus A,B,E,A kein Weg, kein Zyklus

Graph oder Baum? G heißt zusammenhängend, wenn es zwischen zwei Knoten einen Weg gibt. Ist G nicht zusammenhängend, so zerfällt er in eine Vereinigung zusammenhängender Komponenten. Ein zusammenhängender, zyklusfreier Graph ist ein Baum.

Teilgraph Ist G auf V ein zusammenhängender, zyklusfreier Graph und R ein zyklenfreier zusammenhängender Teilgraph von G auf V, dann ist R ein Spannbaum(erzeugender baum). Jeder zusammenhängende Graph besitzt einen erzeugenden Baum.

Graph und Spannbaum Solange es einen Zylus gibt, entferne eine Kante aus diesem Zyklus.

Repräsentationen von Graphen Adjazenzmatrix(speicheraufwendig) boolesche Matrix boolean [] [] Graph;

Repräsentationen von Graphen2 Ein Beispiel aus dem Bereich der Verkehrsnetze

Speicherung als Array Einträge sind keine boolesche Werte sondern, Bewertungen der Kanten

Graphendarstellung (weniger Speicheraufwendige Methode) Zu jeden Knoten ist eine Liste zu definieren, in der die unmittelbaren Nachbarn samt ihrer Entfernungen enthalten sind.

Eine Alternative: -spart Platz -im gegensatz zu Adjazenzmatrix kein direkter Zugriff auf den Wért einer Kante möglich

Tranversierungen Viele Algorithmen auf Graphen beruhen darauf, dass man alle Knoten(bzw. alle Kanten) des Graphen durchwandert (traversiert). Entspricht der Baumwanderung Es besteht die Gefahr, in die Endlosschleife zu geraten, wenn der Graph Zyklen hat.

Strategien zur Traversierung Tiefensuche(Preorder-Baumtraversierung) Dieser Allgorithmus besucht alle Knoten, die von einem Ausgangsknoten k aus erreichbar sind, und markiert jeweils die besuchten Knoten. Zu Beginn müssen alle Markierungen gelöscht werden.Dept-Fist-Visit Breitensuche(Levelorder-Baumtraversierung) Es wird eine Warteschlange als Hilfsspeicher benötigt.

Transitive Hülle Eine tweistellige Relation R auf einer Menge V ist transitiv, falls gilt: ∏x,y,z єV: (x,y) єR und (y,z) є R→(y,z) є R Die transitive Hülle t(R) einer zweistelligen Relation R auf V ist die kleinste transitive Relation. Es gibt einen Weg von x nach y genau dann, wenn es eine Kante von x nach y gibt.

Transitive Hülle Beispiel:

Kürzeste Wege In einem bewerteten Graphen ist kürzester Weg zwischen zwei Knoten u und v minimal, wenn die Summe der zwischenliegenden Kanten minimal ist. Statt A[x][z] = true setzt man; A[x][z]= min(A[x][y] + A[y][z] Es wird eine Menge S aller Knoten k definiert; für welche die kürzeste Entfernung zu u bereits bekannt ist. dist(u,k) Zu Beginn der Algorithmus gilt: S ={u} In jedem Schritt erweitert der Algorithmus die Menge S um ein neues Element. es muss gelten: vєS