Graphen und Bäume. A.1 Graphen

Ähnliche Dokumente
Algorithmen und Datenstrukturen 2

Datenstrukturen Teil 2. Bäume. Definition. Definition. Definition. Bäume sind verallgemeinerte Listen. Sie sind weiter spezielle Graphen

Algorithmen und Datenstrukturen SS09. Foliensatz 16. Michael Brinkmeier. Technische Universität Ilmenau Institut für Theoretische Informatik

Digraphen, DAGs und Wurzelbäume

Nachbarschaft, Grad, regulär, Inzidenz

Technische Universität München. Vorlesungsgrobstruktur: wo stehen wir, wie geht s weiter

Diskrete Strukturen Kapitel 4: Graphentheorie (Grundlagen)

= n (n 1) 2 dies beruht auf der Auswahl einer zweielementigen Teilmenge aus V = n. Als Folge ergibt sich, dass ein einfacher Graph maximal ( n E = 2

Einführung in die Informatik 2

Relationen und DAGs, starker Zusammenhang

Einheit 11 - Graphen

Grundlagen: Begriffe zu Graphen

Für die Anzahl der Kanten in einem vollständigen Graphen (und damit für die maximale Anzahl von Kanten in einem einfachen Graphen) gilt:

Vorlesung Informatik 2 Algorithmen und Datenstrukturen

Graphentheorie Graphentheorie. Grundlagen Bäume Eigenschaften von Graphen Graphen-Algorithmen Matchings und Netzwerke

Verkettete Datenstrukturen: Bäume

Diskrete Strukturen Kapitel 4: Graphentheorie (Bäume)

Kürzeste Wege in Graphen. Orte mit Straßenverbindungen. Coma I Rolf Möhring

Grundlagen: Algorithmen und Datenstrukturen

Freie Bäume und Wälder

Vollständiger Graph. Definition 1.5. Sei G =(V,E) ein Graph. Gilt {v, w} E für alle v, w V,v w, dann heißt G vollständig (complete).

Isomorphie von Bäumen

Graphen. Leonhard Euler ( )

1. Einführung. Grundbegriffe und Bezeichnungen. Beispiele. gerichtete Graphen. 1. Einführung Kapitelübersicht

15. Elementare Graphalgorithmen

Tutorium 23 Grundbegriffe der Informatik (7. Sitzung)

Datenstrukturen & Algorithmen

Programmierkurs Python II

w a is die Anzahl der Vorkommen von a in w Beispiel: abba a = 2

1. Einige Begriffe aus der Graphentheorie

Algorithmen und Datenstrukturen 2-1. Seminar -

WS 2013/14. Diskrete Strukturen

Algorithmen und Datenstrukturen

Einführung in die Informatik 2

Motivation Kap. 6: Graphen

Datenstrukturen. Mariano Zelke. Sommersemester 2012

Graphen. Graphen und ihre Darstellungen

Tutoraufgabe 1 (Suchen in Graphen):

Ferienkurs Propädeutikum Diskrete Mathematik

Programmierkurs Python

Grundbegriffe der Informatik

WS 2008/09. Diskrete Strukturen

WS 2009/10. Diskrete Strukturen

8 Diskrete Optimierung

Diskrete Strukturen. Hausaufgabe 1 (5 Punkte) Hausaufgabe 2 (5 Punkte) Wintersemester 2007/08 Lösungsblatt Januar 2008

Zentralübung zur Vorlesung Diskrete Strukturen (Prof. Esparza)

Anwendungen von Graphen

Kap. 5: Graphen. Carsten Gutwenger Lehrstuhl für Algorithm Engineering, LS11 Fakultät für Informatik, TU Dortmund. 17. VO DAP2 SS

Grundbegriffe der Informatik

Zentralübung zur Vorlesung Diskrete Strukturen (Prof. Mayr)

Programmiertechnik II

Zentralübung zur Vorlesung Diskrete Strukturen

Lernmodul 2 Graphen. Lernmodul 2: Geoobjekte und ihre Modellierung - Graphen

Datenstrukturen. einfach verkettete Liste

Programmiertechnik II

Einführung in die Graphentheorie. Monika König

Diskrete Mathematik. Sebastian Iwanowski FH Wedel. Kap. 6: Graphentheorie

Bemerkung: Der vollständige Graph K n hat n(n 1)

Fortgeschrittene Netzwerk- und Graph-Algorithmen

WS 2009/10. Diskrete Strukturen

8. Übung zu Algorithmen I 15. Juni 2016

Proseminar Kodierverfahren bei Dr. Ulrich Tamm Sommersemester 2003 Thema: Codierung von Bäumen (Prüfer Codes...)

(a, b)-bäume / 1. Datenmenge ist so groß, dass sie auf der Festplatte abgespeichert werden muss.

Zweizusammenhang und starker Zusammenhang

Grundbegriffe der Informatik

Lösungen zu Kapitel 5

Aufgabe 4.2 Sei G = (V, E, l) ein ungerichteter, gewichteter und zusammenhängender Graph.

Bäume Jiri Spale, Algorithmen und Datenstrukturen - Bäume 1

Vorlesung Datenstrukturen

Definition Ein gerichteter Graph G = (V, E) ist ein Graph von geordneten Paaren (u, v) mit u V und v V.

Algorithmische Graphentheorie

Algorithmen und Datenstrukturen Suchbaum

Graphen: Einführung. Vorlesung Mathematische Strukturen. Sommersemester 2011

Graphentheorie. Formale Grundlagen (WIN) 2008S, F. Binder. Vorlesung im 2008S

Algorithmen und Datenstrukturen 1

Kurs 1663 Datenstrukturen" Musterlösungen zur Klausur vom Seite 1. Musterlösungen zur Hauptklausur Kurs 1663 Datenstrukturen 15.

Algorithmen und Datenstrukturen Heapsort

Diskrete Strukturen und Logik WiSe 2007/08 in Trier. Henning Fernau Universität Trier

Bäume und Wälder. Definition 1

Definition Gerichteter Pfad. gerichteter Pfad, wenn. Ein gerichteter Pfad heißt einfach, falls alle u i paarweise verschieden sind.

Minimal spannende Bäume

6. Übung zur Linearen Optimierung SS08

Traversierung 1 / 16. P.F. Stadler & S. Will (Bioinf, Uni LE) ADS 2, V3 23. April / 16

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen 1

Wie wird ein Graph dargestellt?

MafI I: Logik & Diskrete Mathematik (F. Hoffmann)

Technische Universität Wien Institut für Computergraphik und Algorithmen Arbeitsbereich für Algorithmen und Datenstrukturen

9 Minimum Spanning Trees

Einführung in die Informatik I

Algorithmen und Datenstrukturen (WS 2007/08) 63

Grundlagen der Programmierung 2. Bäume

Notizen zu Transformationen und Permutationen. T (A) = {f : A A}

Graph Paar (V,E) V: nichtleere Menge von Knoten (vertex) E: Menge von Kanten (edges): Relation (Verbindung) zwischen den Knoten

Algorithmen und Datenstrukturen II: Graphenalgorithmen

Keller, Schlangen und Listen. Elementare Datenstrukturen Keller, Schlangen und Listen 1 / 14

Graphenalgorithmen I

Fortgeschrittene Netzwerk- und Graph-Algorithmen

Algorithmen und Datenstrukturen

1 Exploration geordneter Wurzelbäume

Transkript:

Algorithmen und Datenstrukturen 96 A Graphen und Bäume A.1 Graphen Ein gerichteter Graph (auch Digraph) G ist ein Paar (V, E), wobei V eine endliche Menge und E eine Relation auf V ist, d.h. E V V. V heißt Menge der Knoten (auch Ecken, engl. vertices) von G, E heißt Menge der Kanten (engl. edges) von G. 1 2 3 4 5 6 Gerichteter Graph G 1 = (V, E 1 ) mit V = {1, 2, 3, 4, 5, 6} E 1 = {(1, 2), (2, 2), (2, 4), (2, 5), (4, 1), (4, 5), (5, 4), (6, 3)} A Graphen und Bäume TU Bergakademie Freiberg, WS 2005/06

Algorithmen und Datenstrukturen 97 In einem ungerichteten Graphen G = (V, E) besteht die Kantenmenge aus ungeordneten Paaren, d.h. (u, v) und (v, u) werden identifiziert. Ferner erlauben wir in ungerichteten Graphen keine Schleifen, d.h. hier gilt für (u, v) E auch u v. 1 2 3 Ungerichteter Graph G 2 = (V, E 2 ) mit V = {1, 2, 3, 4, 5, 6} E 2 = {(1, 2), (1, 5), (2, 5), (3, 6)} 4 5 6 Knoten 4 ist isoliert. A.1 Graphen TU Bergakademie Freiberg, WS 2005/06

Algorithmen und Datenstrukturen 98 Ist (u, v) Kante eines gerichteten Graphen, so sagt man (u, v) ist inzident von Knoten u und inzident nach Knoten v. (Im Graphen G 1 sind die Kanten (2, 2), (2, 4) und (2, 5) inzident von Knoten 2.) Ist (u, v) eine Kante eines ungerichteten Graphen, so sagt man (u, v) sei inzident mit Knoten u und v. (Im Graphen G 2 sind Kanten (1, 2) und (2, 5) inzident mit Knoten 2.) Ist (u, v) Kante eines gerichteten Graphen, so sagt man, Knoten v sei adjazent zu Knoten u, geschrieben u v. In ungerichteten Graphen ist Adjazenz eine symmetrische Relation. (In G 1 und G 2 ist 2 adjazent zu 1. Aber 1 ist nicht adjazent zu 2 in G 1.) A.1 Graphen TU Bergakademie Freiberg, WS 2005/06

Algorithmen und Datenstrukturen 99 Der Grad eines Knoten in einem ungerichteten Graphen ist die Anzahl der mit diesem Knoten inzidenten Kanten. (Knoten 2 in G 2 besitzt den Grad 2.) Ein Knoten mit Grad 0 heißt isoliert. (Knoten 4 in G 2 ) In einem gerichteten Graphen bezeichnet der Ausgangsgrad eines Knoten die Anzahl von dort ausgehenden Kanten, der Eingangsgrad die Anzahl der dort hineinlaufenden Kanten. Der Grad eines Knoten in einem gerichteten Graphen ist die Summe von Ein- und Ausgangsgrad. (Knoten 2 in G 1 besitzt Eingangsgrad 2, Ausgangsgrad 3, somit Grad 5.) A.1 Graphen TU Bergakademie Freiberg, WS 2005/06

Algorithmen und Datenstrukturen 100 Ein Weg der Länge k von Knoten u nach Knoten u in einem Graphen G = (E, V ) bezeichnet eine Folge v 0, v 1,..., v k mit u = v 0, u = v k sowie (v j 1, v j ) E für alle j = 1,..., k. Die Länge des Weges bezeichnet die Anzahl darin enthaltenen Kanten. Der Weg enthält die Knoten v 0,..., v k und die Kanten (v 0, v 1 ),..., (v k 1, v k ). Es existiert stets ein Weg der Länge Null von u nach u. Existiert ein Weg p von Knoten u nach Knoten u, so sagt man, u sei von u aus erreichbar, in Zeichen u p u. Ein Weg heißt einfach, wenn alle darin enthaltenen Knoten verschieden sind. (In G 1 ist 1, 2, 5, 4 ein einfacher Weg der Länge 3. Der Weg 2, 5, 4, 5 ist nicht einfach.) A.1 Graphen TU Bergakademie Freiberg, WS 2005/06

Algorithmen und Datenstrukturen 101 Ein Teilweg eines Weges p = v 0, v 1,..., v k ist eine zusammenhängende Teilfolge seiner Knoten, d.h. für 0 i j k ist v i, v i+1,..., v j ein Teilweg von p. In einem gerichteten Graphen bildet ein Weg p = v 0, v 1,..., v k der Länge k 1 einen Zykel, falls v 0 = v k. Ein Zykel heißt einfach falls v 1,..., v k paarweise verschieden sind. Eine Schleife ist ein Zykel der Länge Eins. Zwei Wege v 0, v 1,..., v k 1, v 0 und v 0, v 1,..., v k 1, v 0 stellen denselben Zykel dar, falls es j Z gibt sodass v i = v (i+j) mod k für i = 0, 1,..., k 1. (In G 2 bilden die Wege 1, 2, 4, 1, 2, 4, 1, 2 sowie 4, 1, 2, 4 denselben Zykel.) Ein Graph ohne Zykeln heißt azyklisch. A.1 Graphen TU Bergakademie Freiberg, WS 2005/06

Algorithmen und Datenstrukturen 102 Ein ungerichteter Graph ist zusammenhängend, falls je zwei Knoten durch einen Weg verbunden sind. Die Zusammenhangskomponenten eines Graphen sind die Äquivalenzklassen von Knoten bezüglich der Relation ist erreichbar von.(g 2 besteht aus den drei Zusammenhangskomponenten {1, 2, 5}, {3, 6}, {4}.) Ein ungerichteter Graph ist genau dann zusammenhängend, wenn er aus genau einer Zusammenhangskomponente besteht, d.h. wenn jeder Knoten von jedem anderen Knoten erreichbar ist. Ein gerichteter Graph heißt stark zusammenhängend, wenn jeder Knoten von jedem anderen aus erreichbar ist. Die starken Zusammenhangskomponenten eines gerichteten Graphen sind die Äquivalenzklassen bezüglich der Relation sind gegenseitig erreichbar. A.1 Graphen TU Bergakademie Freiberg, WS 2005/06

Algorithmen und Datenstrukturen 103 A.2 Bäume Einen azyklischen, ungerichteten Graph nennt man einen Wald; ist ein solcher Graph noch zusammenhängend, nennt man ihn einen Baum. Ein Wurzelbaum ist ein Baum mit einem ausgezeichneten Knoten, der Wurzel des Baumes genannt wird. Sei x ein Knoten in einem Wurzelbaum T mit Wurzel r. Jeder Knoten y auf dem Weg von r nach x heißt Vorgänger von x. Ist y Vorgänger von x, so nennt man x einen Nachfolger von y. (Jeder Knoten ist Vorgänger und Nachfolger von sich selbst.) Von x verschiedene Vorgänger/Nachfolger von x heißen echte Vorgänger bzw. echte Nachfolger. Der an x wurzelnde Teilbaum ist der Baum aus Nachfolgern von x mit Wurzel x. A.2 Bäume TU Bergakademie Freiberg, WS 2005/06

Algorithmen und Datenstrukturen 104 Wald Baum weder noch A.2 Bäume TU Bergakademie Freiberg, WS 2005/06

Algorithmen und Datenstrukturen 105 Ist (y, x) die letzte Kante auf dem Weg von der Wurzel nach x, so nennt man y den Vater von x, und x den Sohn von y. Die Wurzel ist der einzige Knoten in einem Wurzelbaum ohne Vater. Zwei Knoten mit demselben Vater heißen Geschwister. Ein Knoten ohne Sohn heißt Blatt. Die Weglänge von der Wurzel zum Knoten x heißt dessen Tiefe. Die Höhe eines Knotens x in einem Baum ist die Anzahl Kanten im längsten einfachen absteigenden Weg von x zu einem Blatt. Die Höhe eines Baumes ist die seiner Wurzel. Ein Ordnungsbaum ist ein Wurzelbaum, bei dem die Söhne jedes Knotens geordnet sind. A.2 Bäume TU Bergakademie Freiberg, WS 2005/06

Algorithmen und Datenstrukturen 106 7 Tiefe = 0 3 10 4 Tiefe = 1 Höhe = 4 8 12 11 2 Tiefe = 2 6 5 Tiefe = 3 9 Tiefe = 4 Beispiel eines Ordnungsbaumes A.2 Bäume TU Bergakademie Freiberg, WS 2005/06

Algorithmen und Datenstrukturen 107 Ein Binärbaum ist eine auf einer endlichen Knotenzahl definierte Struktur, welche entweder keine Knoten enthält, oder aus drei disjunkten Knotenmengen besteht: einem Wurzelknoten, einem linker Teilbaum genannten Binärbaum und einem rechter Teilbaum genannter Binärbaum. 3 3 2 7 2 7 4 1 5 4 1 5 6 6 Beispiel zweier (verschiedener) Binärbäume A.2 Bäume TU Bergakademie Freiberg, WS 2005/06