Algorithmen und Datenstrukturen 14. Vorlesung

Größe: px
Ab Seite anzeigen:

Download "Algorithmen und Datenstrukturen 14. Vorlesung"

Transkript

1 Algorithmen und Datenstrukturen. Vorlesung Karl-Heinz Niggl. Juli 006 Graphentheorie: Grundbegriffe Graphen (ungerichtet) 6 Digraph / gerichteter Graph: 6 FG KTuEA, TU Ilmenau AuD FG KTuEA, TU Ilmenau AuD Graphentheorie: Grundbegriffe Graphen unddigraphen sindeine inderinformatikgrundlegende (Daten-)Struktur. Graphen modellieren z.b. Städte und Verbindungswege Gatter und Leitungen auf einem Chip Systemkomponenten und Verbindungen Zustände eines Systems und Übergänge (Daten-)Flussdiagramme für Programmentwurf(-analyse) Vorgänge mit Unerträglichkeitsbeziehungen Transportsysteme: Stationen, Verbindungskapazitäten Soziale Beziehungen... Hier: Nur Algorithmen zum Umgang mit den Strukturen. Graphentheorie: Grundbegriffe Def. Ein gerichteter Graph (englisch: directed graph), kurz Digraph, ist ein Paar G := (V,E), wobei gilt: V ist eine endliche Menge, E V V = {(u, ) u, V }. Die Elemente on V heißen Knoten (node oder ertex). Die Elemente on E heißen Kanten (edge oder arc). Darstellung on Knoten : Darstellung on Kanten e=(u, ): u e FG KTuEA, TU Ilmenau AuD FG KTuEA, TU Ilmenau AuD

2 Graphentheorie: Grundbegriffe Def. Sei G =(V,E) ein Digraph, e=(u, ) E eine Kante. u u bzw. heißen inzident zu e (u, liegen auf e). u und heißen adjazent (benachbart). e heißt Nachfolger on u, suc(u):= { V (u, ) E} die Menge der Nachfolger on u. u heißt Vorgänger on, pred():={u V (u,) E} die Menge der Vorgänger on u. Eine Kante (,) heißt Schleife (loop). Graphentheorie: Grundbegriffe Def. Sei G =(V,E) ein Graph. Der Ingrad (indegree) eines Knotens V ist die Anzahl in eingehenden Kanten: indeg() := pred() Der Ausgrad (outdegree) on ist #(ausgehenden Kanten): outdeg() := suc() FG KTuEA, TU Ilmenau AuD FG KTuEA, TU Ilmenau AuD Graphentheorie: Grundbegriffe 6 Lemma (Ingrade/Ausgrade und Kantenzahl). Für einen Graphen G=(V,E) gilt: indeg() = outdeg() = E V V Beweis. : In beiden Summen wird jede Kante genau einmal gezählt. E = 6 7 Summe der Ingrade: = 8 Graphentheorie: Grundbegriffe 7 Def. Sei G = (V,E) ein Digraph. Ein Weg (auch Pfad) in G ist eine Folge ( 0,,..., k ) on Knoten in G mit ( i, i ) E für i k. Äquialent: Kantenfolge ( 0, ),(, ),...,( k, k ) (,,,,6) Wiederholungen sind nicht erboten! (,),(,,,,,,6,,,),(). 6 7 Die Länge eines Weges ( 0,,..., k ) ist k, die Kantenzahl. Insbesondere hat ein Weg () die Länge 0. 8 FG KTuEA, TU Ilmenau AuD FG KTuEA, TU Ilmenau AuD

3 Graphentheorie: Grundbegriffe 8 Def. Ein Weg ( 0,,..., k ) aus paarweise erschiedenen Knoten in einem Digraphen G heißt einfach (simple). (,,,,6) 6 7 Def. Sei G = (V,E) ein Digraph. Knoten,w V heißen wegerbunden in G, in Zeichen G w, falls in G ein Weg (,,..., k,w) existiert. G, G 6, G G heißt dag (directed acyclic graph), falls G azyklisch ist, d.h. G besitzt keinen Kreis, d.h. einen Weg ( 0,,..., k, 0 ). 8 Graphentheorie: Grundbegriffe Lemma (Partielle Ordnung, Einfachheit: Digraph G).. Die Relation G ist reflexi und transiti, d.h. stets gilt: G und u G G w = u G w.. Ist G azyklisch, so ist G eine partielle Ordnung auf V, d.h. neben. ist G auch antisymmetrisch, d.h. es gilt: u G und G u = u=.. Wenn G w gilt, dann existiert in G auch ein einfacher Weg on nach w. Beweis. Zu. Offenbar ist () ein Weg on nach. Sind ( 0,..., k ) und ( k,w,...,w l ) Wege in G, so auch ( 0,..., k,w,...,w l ). FG KTuEA, TU Ilmenau AuD FG KTuEA, TU Ilmenau AuD Graphentheorie: Grundbegriffe 0 Zu. Folgt aus. und der Kreisfreiheit on G. Zu. Idee: Entferne alle orhandenen Kreise. : procedure delete-circles-in-path( p:=( 0,..., k )) : while p enthält i = j mit 0 i<j <Länge(p) do : p:=( 0,..., i, j+,..., k ) : return p Korrektheit: Kommt in p = ( 0,..., k ) ein Knoten i = j, 0 i < j k zweimal or, so ist ( 0,..., i, j+,..., k ) immer noch ein Weg in G on 0 nach k. Graphentheorie: Grundbegriffe 7 6 (,,,,,,,,,,,6,,,,,) (,,,,,,,,6,,,,,) (,,,,,,,,) (,,,,,,,) (,,,) Bem. Andere Auswahlfolgeliefert deneinfachenweg (,,). FG KTuEA, TU Ilmenau AuD FG KTuEA, TU Ilmenau AuD

4 Graphentheorie: Grundbegriffe Def. Ein Kreis ( 0,,..., k, 0 ) in einem Digraphen G heißt einfach, falls,..., k paarweise erschieden sind. (,,,,), (6,7,,6), (,) sind einfache Kreise. 7 Graphentheorie: Grundbegriffe Beweis. Wie beiderkonstruktiononeinfachenwegen, nur mit erschärfter Suchbedingung: i = j mit 0 i<j < k Bem. Kreise, die sich nur im Anfangspunkt unterscheiden, werden oft identifiziert. Lemma (Existenz einfacher Kreise bei Digraphen G). In einem Digraph G besitzt jeder Kreis ( 0,,..., k, 0 ) auch einen einfachen Kreis ( 0, i,..., il, 0 ). (,,6,,,,,,,,,,6,7,,),,6,,,,,,6,7,,) (,,,6,7,,) (,,,) Alternatie: (,,6,,,,,,,,,,6,7,,) (,,) FG KTuEA, TU Ilmenau AuD FG KTuEA, TU Ilmenau AuD Graphentheorie: Grundbegriffe Def. EinGraph (ungerichtet) ist ein Paar G := (V,E) mit: V ist eine endliche Menge, E [V ] :={{u, } u, V,u }. Die Elemente on V heißen Knoten (node oder ertex). Die Elemente on E heißen Kanten (edge). Darstellung on Knoten : Darstellung on Kanten e=(u, ): Konention: Kanten {u, } = {,u} werden als Paare (u, ) geschrieben. Nur: Bei Kanten on (ungerichteten) Graphen gilt: (u, ) = (,u) u e Graphentheorie: Grundbegriffe Def. Sei G=(V,E) ein Graph und e=(u, ) E eine Kante. u u bzw. heißen inzident zu e (u, liegen auf e). u und heißen adjazent (benachbart). u heißt Nachbar on und heißt Nachbar on u. e FG KTuEA, TU Ilmenau AuD FG KTuEA, TU Ilmenau AuD

5 Graphentheorie: Grundbegriffe 6 Def. Sei G ein Graph. DerGrad (degree) eines Knoten, in Zeichen deg(), ist die Anzahl seiner Nachbarn: deg() := {u V (u, ) E} Knoten mit Grad 0, d.h. ohne Nachbarn, heißen isoliert. deg() = 6 Lemma (Handshaking). Für Graphen G = (V,E) gilt: V deg() = E Beweis. Kante (u, ) trägtzudeg(u) undzudeg() bei. Graphentheorie: Grundbegriffe 7 Im Graphen ist die Anzahl der Kanten und die Summe der Grade ergibt: = Def. Sei G = (V,E) ein Graph. Die Begriffe Weg (Pfad) in G, Länge und Einfachheit eines Weges in G sind wie bei Digraphen definiert. Neu. Ist ( 0,..., k ) ein Weg, so auch ( k, k,..., 0 ). Sind u, V durch einen Weg in G erbunden, so schreiben wir u G (oder u, falls G im Kontext bekannt ist). FG KTuEA, TU Ilmenau AuD FG KTuEA, TU Ilmenau AuD Graphentheorie: Grundbegriffe 8 Lemma (Existenz einfacher Wege). u G = einfacher Weg on u nach. Bew. Wie bei Digraphen. Lemma (Äquialenzrelation). Die Relation G ist eine Äquialenzrelation, d.h. es gilt: Reflexiität: G Symmetrie: u G = G u Transitiität: u G G w = u G w Bew. Symmetrie folgt aus Neu, Rest wie bei Digraphen. Def. Die Menge [] G := {u u G } heißt Äquialenzklasse on G mit Repräsentant. Graphentheorie: Grundbegriffe Bem. Es gilt: u [] G = [u] G =[] G Mittels Äquialenzklassen werden diejenigen Elemente einer Menge identifiziert, die dasgleiche tun ( Repräsentant ). In [] G ist jedes u mit jedem anderen w wegerbunden. [] G heißt auch Zusammenhangskomponente on G. Liest man u G als u mag, so ist [] G eine Clique. Bem. Die Menge der Zusammenhangskomponenten bildet eine Partition on V, d.h. es gilt: [] G [u] G [] G = [u] G =[] G V = [] G V FG KTuEA, TU Ilmenau AuD FG KTuEA, TU Ilmenau AuD

6 Graphentheorie: Grundbegriffe 0 Graph mit ZHKn Graphentheorie: Grundbegriffe Def. Ein Weg ( 0,,..., k ) in einem Graphen G heißt Kreis, falls gilt: k, 0 = k und ( i {,...,k }: i i+ ) sowie k. 7 6 Graph mit 7 ZHKn 8 Kreis: (6,7,8,,6,,,,0,,,,6) D.h., ein Hin und her (...,u,, u,...) über dieselbe Kante (u, )=(,u) ist nicht erlaubt. Daher muß k gelten. Sonstige Knoten- oder Kantenwiederholungen sind erlaubt. 0 FG KTuEA, TU Ilmenau AuD FG KTuEA, TU Ilmenau AuD Graphentheorie: Grundbegriffe Def. Ein Weg ( 0,,..., k ) in einem Graphen G heißt einfacher Kreis, falls gilt: k, 0 = k und 0,,..., k sind paarweise erschieden Einfache Kreise: (6,,,,0,,,,6) 0 und (,6,,,,0,,,) Lemma (Existenz einfacher Kreise). Besitzt ein Graph einen Kreis, so auch einen einfachen Kreis. Beweis. Übung! Graphentheorie: Grundbegriffe Def. Sei G = (V,E) ein Graph. G heißt azyklisch (kreisfrei), falls er keinen Kreis besitzt. G heißt freier Baum, kurz Baum, falls er kreisfrei und zusammenhängend ist. FG KTuEA, TU Ilmenau AuD FG KTuEA, TU Ilmenau AuD

7 Graphentheorie: Grundbegriffe Lemma (Charakterisierung freier Bäume). Für Graph G=(V,E) sind folgende Aussagen äquialent:. G ist ein freier Baum.. G ist kreisfrei und E V.. G ist zusammenhängend und E V.. Je zwei Knoten u, sind durch genau einen einfachen Weg erbunden.. G ist maximal kreisfrei, d.h. G ist kreisfrei und jede neue Kante erzeugt einen Kreis. 6. G ist minimal zusammenhängend (analog definiert). Beweis. Wird für Interessierte auf die Webseite gelegt. Datenstrukturen für Digraphen/Graphen Sei G =(V,E) beliebiger Graph oder Digraph. ) Ordne die n= V Knoten beliebig an: V ={,..., n } A C B D E ) Dann stelle V z.b. durch ein Array dar: nodes[..n] of nodetype nodes: wobei sich i in nodes[i] befindet und i.a. noch mehr: Attribute der Knoten wie Markierungen oder Beschriftungen. Also: Knotensindi.a. mit,,...,n numeriert undeinnodes- Array ist orhanden. Dann ist (i,j) Kante ( i, j ) E. : : : : : A B E D C FG KTuEA, TU Ilmenau AuD FG KTuEA, TU Ilmenau AuD Datenstrukturen für Digraphen/Graphen Def. Sei G = (V,E) ein Graph/Digraph mit V = {,...,n}. Die Adjazenzmatrix on G die n n-matrix M G = (a ij ) i,j n mit {, falls (i,j) E a ij := 0, sonst. In den meisten Programmiersprachen: Matrizen sind als -dimensionale Arrays A[..n][..n] realisierbar, mit Einträgen aus {0,} oder om Typ boolean. Fazit: Zugriff (Lesen, Schreiben) auf a ij geht in Zeit O(). Datenstrukturen für Digraphen/Graphen Beispiel-Digraph: Dann gilt: = 6 Anzahl der en in Zeile i = Ausgrad on Knoten i Anzahl der en in Spalte j = Ingrad on Knoten j FG KTuEA, TU Ilmenau AuD FG KTuEA, TU Ilmenau AuD

8 Datenstrukturen für Digraphen/Graphen Beispiel-Graph: = 6 Bem. Die Adjazenzmatrix eines Graphen ist symmetrisch! Bem. #(en in Zeile/Spalte i) = Grad on Knoten i. Datenstrukturen für Digraphen/Graphen Bem. Stellt man Graphen/Digraphen mit n Knoten als Adjazenzmatrix dar, so gilt:. Speicherplatzbedarf ist Θ(n ).. Zugriff (Lesen/Schreiben) auf a ij geht in Zeit O().. Die Ermittlung aller Nachfolger, Vorgänger oder Nachbarn eines Knotens erfordert Zeit Θ(n). (Zeilen/Spaltendurchlauf; Reihenfolge:,...,n). Der Speicherplatzbedarf ist im Vergleich zur orhandenen Information relati hoch, falls E n (dünn besetzte Graphen). FG KTuEA, TU Ilmenau AuD FG KTuEA, TU Ilmenau AuD Datenstrukturen für Digraphen/Graphen 6 Erweiterung: Sind die Kanten mit Objekten aus einer (Markierungs-)Menge M beschriftet, benutzt manstatt des Booleschen Arrays ein Array mit Einträgen aus M { } ( bedeutet nicht orhanden ): 6 a c f a d a d b c e a f c 6 h d = h f a d c 6 f c b d a e a c d a Datenstrukturen für Digraphen/Graphen 7 Bem. Bei Zahleneinträgen wird für oft 0 oder erwendet, je nach Anwendungsart. für mögliche Beschriftungen: anwendungsabhängig. Kantenlängen l(i, j) R Kantengewicht w(i,j) R (Transport-)Kapazitäten c(i,j) R + FG KTuEA, TU Ilmenau AuD FG KTuEA, TU Ilmenau AuD

9 Datenstrukturen für Digraphen/Graphen 8 Def. Bei der Adjazenzlistendarstellung on Digraphen oder Graphen existiert für jeden Knoten i eine Liste L i der Nachfolger on i im Fall on Digraphen Nachbarn on i im Fall on Graphen. : : nodes: 6 Datenstrukturen für Digraphen/Graphen Bem. ) Die Länge der Liste L i ist outdeg(i) bei Digraphen und deg(i) bei Graphen. ) Bei Graphen gilt: Eintrag i kommt in L j or Eintrag j kommt in L i or. ) Durch die Reihenfolge der Einträge in Liste L i sind die Nachbarn/NachfolgeronKnoten i immer implizit angeordnet. : : : 6: 6 6 Erweiterungen: a) Knotenbeschriftungen befinden sich im nodes-array. b) Kantenbeschriftungen speichert man in zusätzlichen Attributen in den Listenelementen der Adjazenzlisten. FG KTuEA, TU Ilmenau AuD FG KTuEA, TU Ilmenau AuD Datenstrukturen für Digraphen/Graphen 0 Bem. Werden Graphen/Digraphen G = (V,E) mittels Adjazenzlisten dargestellt, dann gilt:. Der Speicherplatzbedarf ist O( V + E ).. Das Durchlaufen aller Kanten benötigt Zeit O( V + E ).. Das Durchlaufen deradjazenzliste zuknotenibenötigt Zeit O(deg(i)) bei Graphen bzw. O(outdeg(i)) bei Digraphen. Breitensuche in Digraphen. Breitensuche on einem Knoten 0 aus: Finde alle Knoten, die on 0 aus erreichbar sind. Numeriere die entdeckten Knoten durch. Bestimme für jeden on 0 aus erreichbaren Knoten einen kürzesten Weg on 0 nach, Abstand on 0 zu. Die on 0 = aus erreichbaren Knoten, mit kürzesten Wegen on 0 = aus, und Nummern: FG KTuEA, TU Ilmenau AuD FG KTuEA, TU Ilmenau AuD

10 Breitensuche in Digraphen Ansatz: Knoten werden entdeckt (numeriert und als entdeckt markiert) undspäterbearbeitet (die Menge dernachfolger wird durchgegangen, um neue Knoten zu entdecken). Die Reihenfolge der Bearbeitung wird über eine anfänglich leere Queue Q organisiert. Information an Knoten (gespeichert im nodes-array): Nummer bfs num() Leel leel() (Abstand on 0 nach ) Vorgänger pred() (on auf kürzestem Weg 0 ) Globale Information: Zähler bfs count Initialisierung: bfs count 0; alle bfs num() 0. Breitensuche in Digraphen : procedure bfs( 0 ) Breitensuche on 0 aus : bfs count bfs count+ : bfs num( 0 ) bfs count : leel( 0 ) 0 : pred( 0 ) 0 Weg der Länge 0 6: enqueue(q,) erstes Element in Warteschlange 7: while Q NIL do 8: first(q) : dequeue(q) nun bearbeite 0: foreach w suc() (Adjazenzliste!) do : if bfs num(w)=0 then w wird entdeckt! : bfs count bfs count+ : bfs num(w) bfs count : leel(w) leel()+ : pred(w) w on aus erreicht 6: enqueue(q,w) FG KTuEA, TU Ilmenau AuD FG KTuEA, TU Ilmenau AuD Breitensuche in Digraphen Breitensuche in Digraphen fertig FG KTuEA, TU Ilmenau AuD FG KTuEA, TU Ilmenau AuD

11 Breitensuche in Digraphen 6 Breitensuche in Digraphen fertig fertig fertig fertig FG KTuEA, TU Ilmenau AuD FG KTuEA, TU Ilmenau AuD Breitensuche in Digraphen fertig Breitensuche in Digraphen Feststellungen: ) Jeder on 0 aus erreichbare Knoten wird irgendwann entdeckt, erhält eine Nummer und Leelnummer. (Für Weg ( 0,,..., k ) mit = k zeigt man indukti, daß jedes i auf dem Weg entdeckt wird.) ) Knoten wird on pred() aus entdeckt fertig... und so weiter. ) Alle entdeckten Knoten mit den Kanten (pred(),), 0 bilden einen Baum: Breitensuch-Baum ) leel() = Länge eines kürzesten Weges on 0 nach. FG KTuEA, TU Ilmenau AuD FG KTuEA, TU Ilmenau AuD

12 Breitensuche in Digraphen 0 Um einen solchen Weg zu finden, starte in und erfolge wiederholt die Kanten (pred(w),w). ) Die Laufzeit eines Aufrufs bfs( 0 ) ist proportional zur Anzahl der on 0 aus erreichbaren Knoten und Kanten. 6) DerSpeicherplatzbedarfist proportionalzuranzahlderon 0 aus erreichbaren Knoten. Bew. )+6) Sei V bzw. E die Menge der erreichten Knoten bzw. durchlaufenen Kanten. Klar: E = V outdeg( ) Kosten für Einfügen und Entnehmen aus der Queue: O() und O(outdeg()) für das Durchlaufen der Adjazenzliste. Insgesamt: O( V + E ), nur V -Knoten gelangen in Q. Breitensuche in Digraphen. Globale Breitensuche in G: : procedure global-bfs(g) : bfs count 0 : for to n do : bfs num() 0 : for to n do 6: if bfs num()=0 then noch nicht erreicht! 7: bfs() Starte bfs on aus Bem. bfs-aufrufe eränderndie bfs num-werte. Durchbfs- Aufrufe auf den noch unerreichten Knoten werden insgesamt alle Knoten in G erreicht! FG KTuEA, TU Ilmenau AuD FG KTuEA, TU Ilmenau AuD Breitensuche in Digraphen BFS-Bäume mit BFS-Nummern und Leels: Entstehende Bei bfs-aufruf auf neuen Knoten zählt bfs count weiter! Breitensuche in Digraphen. Breitensuche in (ungerichteten) Graphen Verläuft analog zu bfs. Beachte: Bei der Bearbeitung on wird der Knoten pred(), obwohl er in der Adjazenzliste on orkommt, nie berücksichtigt (hat schon eine Nummer). Wenn man in 0 startet, werden alle Knoten in der Zusammenhangskomponente on 0 entdeckt. leel() entspricht dabei dem Abstand on zu 0. Wenn man in allen noch nicht entdeckten Knoten eine Breitensuche startet (analog global-bfs(g)), sofindet manalle Zusammenhangskomponenten on G. FG KTuEA, TU Ilmenau AuD FG KTuEA, TU Ilmenau AuD

13 Breitensuche in Digraphen Kosten für global-bfs bei Graphen: O( V + E ). Speicherplatz für die Queue: O( V ) FG KTuEA, TU Ilmenau AuD

14

Algorithmen und Datenstrukturen 2

Algorithmen und Datenstrukturen 2 Algorithmen und Datenstrukturen 2 Sommersemester 2006 3. Vorlesung Peter F. Stadler Universität Leipzig Institut für Informatik [email protected] Algorithmen für Graphen Fragestellungen: Suche

Mehr

2. Repräsentationen von Graphen in Computern

2. Repräsentationen von Graphen in Computern 2. Repräsentationen von Graphen in Computern Kapitelinhalt 2. Repräsentationen von Graphen in Computern Matrizen- und Listendarstellung von Graphen Berechnung der Anzahl der verschiedenen Kantenzüge zwischen

Mehr

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

Definition Ein gerichteter Graph G = (V, E) ist ein Graph von geordneten Paaren (u, v) mit u V und v V. Kapitel 4 Graphenalgorithmen 4.1 Definitionen Definition 4.1.1. Der Graph G = (V, E) ist über die beiden Mengen V und E definiert, wobei V die Menge der Knoten und E die Menge der Kanten in dem Graph ist.

Mehr

8 Diskrete Optimierung

8 Diskrete Optimierung 8 Diskrete Optimierung Definition 8.1. Ein Graph G ist ein Paar (V (G), E(G)) besteh aus einer lichen Menge V (G) von Knoten (oder Ecken) und einer Menge E(G) ( ) V (G) 2 von Kanten. Die Ordnung n(g) von

Mehr

Routing Algorithmen. Begriffe, Definitionen

Routing Algorithmen. Begriffe, Definitionen Begriffe, Definitionen Routing (aus der Informatik) Wegewahl oder Verkehrslenkung bezeichnet in der Telekommunikation das Festlegen von Wegen für Nachrichtenströme bei der Nachrichtenübermittlung über

Mehr

Vorlesung Informatik 2 Algorithmen und Datenstrukturen. (20 Graphen) T. Lauer

Vorlesung Informatik 2 Algorithmen und Datenstrukturen. (20 Graphen) T. Lauer Vorlesung Informatik 2 Algorithmen und Datenstrukturen (20 Graphen) T. Lauer 1 Motivation Wie komme ich am besten von Freiburg nach Ulm? Was ist die kürzeste Rundreise durch eine gegebene Menge von Städten?

Mehr

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

Diskrete Mathematik. Sebastian Iwanowski FH Wedel. Kap. 6: Graphentheorie Referenzen zum Nacharbeiten: Diskrete Mathematik Sebastian Iwanowski FH Wedel Kap. 6: Graphentheorie Lang 6 Beutelspacher 8.1-8.5 Meinel 11 zur Vertiefung: Aigner 6, 7 (7.4: Algorithmus von Dijkstra) Matousek

Mehr

Theoretische Informatik 1 WS 2007/2008. Prof. Dr. Rainer Lütticke

Theoretische Informatik 1 WS 2007/2008. Prof. Dr. Rainer Lütticke Theoretische Informatik 1 WS 2007/2008 Prof. Dr. Rainer Lütticke Inhalt der Vorlesung Grundlagen - Mengen, Relationen, Abbildungen/Funktionen - Datenstrukturen - Aussagenlogik Automatentheorie Formale

Mehr

Kapitel 6: Graphalgorithmen Gliederung

Kapitel 6: Graphalgorithmen Gliederung Gliederung 1. Grundlagen 2. Zahlentheoretische Algorithmen 3. Sortierverfahren 4. Ausgewählte Datenstrukturen 5. Dynamisches Programmieren 6. Graphalgorithmen 7. String-Matching 8. Kombinatorische Algorithmen

Mehr

Algorithmen und Datenstrukturen (WS 2007/08) 63

Algorithmen und Datenstrukturen (WS 2007/08) 63 Kapitel 6 Graphen Beziehungen zwischen Objekten werden sehr oft durch binäre Relationen modelliert. Wir beschäftigen uns in diesem Kapitel mit speziellen binären Relationen, die nicht nur nur besonders

Mehr

Graphen. Leonhard Euler ( )

Graphen. Leonhard Euler ( ) Graphen Leonhard Euler (1707-1783) 2 Graph Ein Graph besteht aus Knoten (nodes, vertices) die durch Kanten (edges) miteinander verbunden sind. 3 Nachbarschaftsbeziehungen Zwei Knoten heissen adjazent (adjacent),

Mehr

5.2 Das All-Pairs-Shortest-Paths-Problem (APSP-Problem) Kürzeste Wege zwischen allen Knoten. Eingabe: Gerichteter Graph G =(V, E, c)

5.2 Das All-Pairs-Shortest-Paths-Problem (APSP-Problem) Kürzeste Wege zwischen allen Knoten. Eingabe: Gerichteter Graph G =(V, E, c) 5.2 Das All-Pairs-Shortest-Paths-Problem (APSP-Problem) Kürzeste Wege zwischen allen Knoten. Eingabe: Gerichteter Graph G =(V, E, c) mit V = {1,...,n} und E {(v, w) 1 apple v, w apple n, v 6= w}. c : E!

Mehr

9. Übung Algorithmen I

9. Übung Algorithmen I INSTITUT FÜR THEORETISCHE INFORMATIK 1 KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft Institut für Theoretische www.kit.edu Informatik Musterlösung

Mehr

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).

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). 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). Mit K n wird der vollständige Graph mit n Knoten bezeichnet. Bemerkung

Mehr

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

Graph Paar (V,E) V: nichtleere Menge von Knoten (vertex) E: Menge von Kanten (edges): Relation (Verbindung) zwischen den Knoten Graphentheorie Graph Paar (V,E) V: nichtleere Menge von Knoten (vertex) E: Menge von Kanten (edges): Relation (Verbindung) zwischen den Knoten gerichteter Graph (DiGraph (directed graph) E: Teilmenge E

Mehr

Massive Parallelität : Neuronale Netze

Massive Parallelität : Neuronale Netze Massive Parallelität : Neuronale Netze PI2 Sommer-Semester 2005 Hans-Dieter Burkhard Massive Parallelität : Neuronale Netze Knoten: Neuronen Neuronen können erregt ( aktiviert ) sein Kanten: Übertragung

Mehr

Graphen: Datenstrukturen und Algorithmen

Graphen: Datenstrukturen und Algorithmen Graphen: Datenstrukturen und Algorithmen Ein Graph G = (V, E) wird durch die Knotenmenge V und die Kantenmenge E repräsentiert. G ist ungerichtet, wenn wir keinen Start- und Zielpunkt der Kanten auszeichnen.

Mehr

1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. Bäume / Graphen 5. Hashing 6. Algorithmische Geometrie

1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. Bäume / Graphen 5. Hashing 6. Algorithmische Geometrie Gliederung 1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. äume / Graphen 5. Hashing 6. Algorithmische Geometrie 4/5, olie 1 2014 Prof. Steffen Lange - HDa/bI

Mehr

Algorithmen und Datenstrukturen 2

Algorithmen und Datenstrukturen 2 Algorithmen und Datenstrukturen 2 Sommersemester 2007 4. Vorlesung Peter F. Stadler Universität Leipzig Institut für Informatik [email protected] Traversierung Durchlaufen eines Graphen, bei

Mehr

Einführung in die Graphentheorie. Monika König

Einführung in die Graphentheorie. Monika König Einführung in die Graphentheorie Monika König 8. 11. 2011 1 Vorwort Diese Seminararbeit basiert auf den Unterkapiteln 1.1-1.3 des Buches Algebraic Graph Theory von Chris Godsil und Gordon Royle (siehe

Mehr

Graphenalgorithmen I

Graphenalgorithmen I enalgorithmen I Tobias Pröger 21. Dezember 2016 Erklärung: Diese Mitschrift ist als Ergänzung zur Vorlesung gedacht. Wir erheben keinen Anspruch auf Vollständigkeit und Korrektheit. Wir sind froh über

Mehr

4. Kreis- und Wegeprobleme Abstände in Graphen

4. Kreis- und Wegeprobleme Abstände in Graphen 4. Kreis- und Wegeprobleme Abstände in Graphen Abstände in Graphen Definition 4.4. Es sei G = (V,E) ein Graph. Der Abstand d(v,w) zweier Knoten v,w V ist die minimale Länge eines Weges von v nach w. Falls

Mehr

13. Binäre Suchbäume

13. Binäre Suchbäume 1. Binäre Suchbäume Binäre Suchbäume realiesieren Wörterbücher. Sie unterstützen die Operationen 1. Einfügen (Insert) 2. Entfernen (Delete). Suchen (Search) 4. Maximum/Minimum-Suche 5. Vorgänger (Predecessor),

Mehr

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

Technische Universität Wien Institut für Computergraphik und Algorithmen Arbeitsbereich für Algorithmen und Datenstrukturen Technische Universität Wien Institut für Computergraphik und Algorithmen Arbeitsbereich für Algorithmen und Datenstrukturen 186.172 Algorithmen und Datenstrukturen 1 VL 4.0 Übungsblatt 4 für die Übung

Mehr

WS 2009/10. Diskrete Strukturen

WS 2009/10. Diskrete Strukturen WS 2009/10 Diskrete Strukturen Prof. Dr. J. Esparza Lehrstuhl für Grundlagen der Softwarezuverlässigkeit und theoretische Informatik Fakultät für Informatik Technische Universität München http://www7.in.tum.de/um/courses/ds/ws0910

Mehr

3. Musterlösung. Problem 1: Boruvka MST

3. Musterlösung. Problem 1: Boruvka MST Universität Karlsruhe Algorithmentechnik Fakultät für Informatik WS 06/07 ITI Wagner. Musterlösung Problem : Boruvka MST pt (a) Beweis durch Widerspruch. Sei T MST von G, e die lokal minimale Kante eines

Mehr

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

MafI I: Logik & Diskrete Mathematik (F. Hoffmann) Lösungen zum 14. und letzten Aufgabenblatt zur Vorlesung MafI I: Logik & Diskrete Mathematik (F. Hoffmann) 1. Ungerichtete Graphen (a) Beschreiben Sie einen Algorithmus, der algorithmisch feststellt, ob

Mehr

Grundlagen Datenstrukturen Transitive Hülle Traversierung Kürzeste Wege Spannender Baum Max. Fluss Zuordnungen. 6. Graphen

Grundlagen Datenstrukturen Transitive Hülle Traversierung Kürzeste Wege Spannender Baum Max. Fluss Zuordnungen. 6. Graphen . Graphen viele praktische (Optimierungs-)Probleme sind als graphentheoretische Probleme formulierbar z.b. in Produktionsplanung, Personaleinsatzplanung,.... Grundlagen gerichteter, ungerichteter und gewichteter

Mehr

SS11 Effiziente Algorithmen 5. Kapitel: Dynamische Programmierung

SS11 Effiziente Algorithmen 5. Kapitel: Dynamische Programmierung SS11 Effiziente Algorithmen 5. Kapitel: Dynamische Programmierung Martin Dietzfelbinger Juni/Juli 2011 FG KTuEA, TU Ilmenau Effiziente Algorithmen SS11 Kapitel 5 Kapitel 5: Dynamische Programmierung Typische

Mehr

8 Graphrepräsentation

8 Graphrepräsentation Sanders / van Stee: Algorithmentechnik November, 7 1 8 Graphrepräsentation 1736 fragt L. Euler die folgende touristische Frage: Straßen- oder Computernetzwerke Zugverbindungen (Raum und Zeit) Soziale Netzwerke

Mehr

Das Briefträgerproblem

Das Briefträgerproblem Das Briefträgerproblem Paul Tabatabai 30. Dezember 2011 Inhaltsverzeichnis 1 Problemstellung und Modellierung 2 1.1 Problem................................ 2 1.2 Modellierung.............................

Mehr

16. All Pairs Shortest Path (ASPS)

16. All Pairs Shortest Path (ASPS) . All Pairs Shortest Path (ASPS) All Pairs Shortest Path (APSP): Eingabe: Gewichteter Graph G=(V,E) Ausgabe: Für jedes Paar von Knoten u,v V die Distanz von u nach v sowie einen kürzesten Weg a b c d e

Mehr

Ein Graph ist ein Paar (V,E), wobei V eine Menge von Knoten und E eine Menge von Kanten (v,w) mit v,w in V ist.

Ein Graph ist ein Paar (V,E), wobei V eine Menge von Knoten und E eine Menge von Kanten (v,w) mit v,w in V ist. Graphen Definition: Ein Graph ist ein Paar (V,E), wobei V eine Menge von Knoten und E eine Menge von Kanten (v,w) mit v,w in V ist. Begriffe: Gerichteter Graph: Alle Kanten haben eine Richtung vom Anfangsknoten

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Kapitel 15: Graphen Thomas Worsch KIT, Institut für Theoretische Informatik Wintersemester 2015/2016 GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik

Mehr

11. Übungsblatt zu Algorithmen I im SS 2010

11. Übungsblatt zu Algorithmen I im SS 2010 Karlsruher Institut für Technologie Institut für Theoretische Informatik Prof. Dr. Peter Sanders G.V. Batz, C. Schulz, J. Speck 11. Übungsblatt zu Algorithmen I im SS 2010 http://algo2.iti.kit.edu/algorithmeni.php

Mehr

Breiten- und Tiefensuche in Graphen

Breiten- und Tiefensuche in Graphen Breiten- und Tiefensuche in Graphen Inhalt Theorie. Graphen. Die Breitensuche in der Theorie am Beispiel eines ungerichteten Graphen. Die Tiefensuche in der Theorie am Beispiel eines gerichteten Graphen

Mehr

Effiziente Algorithmen und Datenstrukturen I. Kapitel 9: Minimale Spannbäume

Effiziente Algorithmen und Datenstrukturen I. Kapitel 9: Minimale Spannbäume Effiziente Algorithmen und Datenstrukturen I Kapitel 9: Minimale Spannbäume Christian Scheideler WS 008 19.0.009 Kapitel 9 1 Minimaler Spannbaum Zentrale Frage: Welche Kanten muss ich nehmen, um mit minimalen

Mehr

Kapitel 5: Minimale spannende Bäume Gliederung der Vorlesung

Kapitel 5: Minimale spannende Bäume Gliederung der Vorlesung Gliederung der Vorlesung 1. Grundbegriffe 2. Elementare Graphalgorithmen und Anwendungen 3. Kürzeste Wege. Minimale spannende Bäume. Färbungen und Cliquen. Traveling Salesman Problem. Flüsse in Netzwerken

Mehr

Binary Decision Diagrams (Einführung)

Binary Decision Diagrams (Einführung) Binary Decision Diagrams (Einführung) Binary Decision Diagrams (BDDs) sind bestimmte Graphen, die als Datenstruktur für die kompakte Darstellung von booleschen Funktionen benutzt werden. BDDs wurden von

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Einheit 11: Graphen Thomas Worsch Karlsruher Institut für Technologie, Fakultät für Informatik Wintersemester 2010/2011 1/59 Graphische Darstellung von Zusammenhängen schon

Mehr

Effiziente Algorithmen I

Effiziente Algorithmen I H 10. Präsenzaufgabenblatt, Wintersemester 2015/16 Übungstunde am 18.01.2015 Aufgabe Q Ein Reiseveranstalter besitzt ein Flugzeug, das maximal p Personen aufnehmen kann. Der Veranstalter bietet einen Flug

Mehr

Minimal spannende Bäume

Minimal spannende Bäume http://www.uni-magdeburg.de/harbich/ Minimal spannende Fakultät für Informatik Otto-von-Guericke-Universität 2 Inhalt Definition Wege Untergraphen Kantengewichtete Graphen Minimal spannende Algorithmen

Mehr

Kapitel 4: Dynamische Datenstrukturen. Algorithmen und Datenstrukturen WS 2012/13. Prof. Dr. Sándor Fekete

Kapitel 4: Dynamische Datenstrukturen. Algorithmen und Datenstrukturen WS 2012/13. Prof. Dr. Sándor Fekete Kapitel 4: Dynamische Datenstrukturen Algorithmen und Datenstrukturen WS 2012/13 Prof. Dr. Sándor Fekete 4.4 Binäre Suche Aufgabenstellung: Rate eine Zahl zwischen 100 und 114! Algorithmus 4.1 INPUT: OUTPUT:

Mehr

Guten Morgen und Willkommen zur Saalübung!

Guten Morgen und Willkommen zur Saalübung! Guten Morgen und Willkommen zur Saalübung! 1 Wie gewinnt man ein Spiel? Was ist ein Spiel? 2 Verschiedene Spiele Schach, Tic-Tac-Toe, Go Memory Backgammon Poker Nim, Käsekästchen... 3 Einschränkungen Zwei

Mehr

Kürzeste Wege in Graphen. Maurice Duvigneau Otto-von-Guericke Universität Fakultät für Informatik

Kürzeste Wege in Graphen. Maurice Duvigneau Otto-von-Guericke Universität Fakultät für Informatik Kürzeste Wege in Graphen Maurice Duvigneau Otto-von-Guericke Universität Fakultät für Informatik Gliederung Einleitung Definitionen Algorithmus von Dijkstra Bellmann-Ford Algorithmus Floyd-Warshall Algorithmus

Mehr

Wiederholung zu Flüssen

Wiederholung zu Flüssen Universität Konstanz Methoden der Netzwerkanalyse Fachbereich Informatik & Informationswissenschaft SS 2008 Prof. Dr. Ulrik Brandes / Melanie Badent Wiederholung zu Flüssen Wir untersuchen Flüsse in Netzwerken:

Mehr

κ(k) k K S Algorithmus zur Bestimmung eines spannenden Baumes mit minimalen Kosten (Kruskal, 1965).

κ(k) k K S Algorithmus zur Bestimmung eines spannenden Baumes mit minimalen Kosten (Kruskal, 1965). 5. Graphenprobleme Im folgenden bezeichnen G = (E, K) einen endlichen Graphen mit der Eckenmenge E und der Kantenmenge K. G kann ungerichtet, gerichtet, schlicht oder nicht schlicht sein. 5.1 Spannende

Mehr

Datenstrukturen & Algorithmen

Datenstrukturen & Algorithmen Datenstrukturen & Algorithmen Matthias Zwicker Universität Bern Frühling 2010 Übersicht Binäre Suchbäume Einführung und Begriffe Binäre Suchbäume 2 Binäre Suchbäume Datenstruktur für dynamische Mengen

Mehr

Studientag zur Algorithmischen Mathematik

Studientag zur Algorithmischen Mathematik Studientag zur Algorithmischen Mathematik Eulertouren, 2-Zusammenhang, Bäume und Baumisomorphismen Winfried Hochstättler Diskrete Mathematik und Optimierung FernUniversität in Hagen 22. Mai 2011 Outline

Mehr

Algorithmische Mathematik

Algorithmische Mathematik Algorithmische Mathematik Wintersemester 2013 Prof. Dr. Marc Alexander Schweitzer und Dr. Einar Smith Patrick Diehl und Daniel Wissel Übungsblatt 6. Abgabe am 02.12.2013. Aufgabe 1. (Netzwerke und Definitionen)

Mehr

Informatik 11 Kapitel 2 - Rekursive Datenstrukturen

Informatik 11 Kapitel 2 - Rekursive Datenstrukturen Fachschaft Informatik Informatik 11 Kapitel 2 - Rekursive Datenstrukturen Michael Steinhuber König-Karlmann-Gymnasium Altötting 15. Januar 2016 Folie 1/77 Inhaltsverzeichnis I 1 Datenstruktur Schlange

Mehr

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

Graphen: Einführung. Vorlesung Mathematische Strukturen. Sommersemester 2011 Graphen: Einführung Vorlesung Mathematische Strukturen Zum Ende der Vorlesung beschäftigen wir uns mit Graphen. Graphen sind netzartige Strukturen, bestehend aus Knoten und Kanten. Sommersemester 20 Prof.

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen Wintersemester 2012/13 22. Vorlesung Tiefensuche und Topologische Sortierung Prof. Dr. Alexander Wolff Lehrstuhl für Informatik I Vorlesungsumfrage Nutzen Sie die Vorlesungsbefragung

Mehr

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

Bäume. 2006 Jiri Spale, Algorithmen und Datenstrukturen - Bäume 1 Bäume 2006 Jiri Spale, Algorithmen und Datenstrukturen - Bäume 1 Inhalt Grundbegriffe: Baum, Binärbaum Binäre Suchbäume (Definition) Typische Aufgaben Suchaufwand Löschen allgemein, Methode Schlüsseltransfer

Mehr

5.4 Das Rucksackproblem

5.4 Das Rucksackproblem Problemstellung: 5.4 Das Rucksackproblem Eingabe: Ganzzahlige Volumina a 1,..., a n > 0, Nutzenwerte c 1,..., c n > 0, ganzzahlige Volumenschranke b. Aufgabe: Packe die Objekte in einen Rucksack von Volumen

Mehr

ADS: Algorithmen und Datenstrukturen 2

ADS: Algorithmen und Datenstrukturen 2 ADS: Algorithmen und Datenstrukturen Der Tragödie IV. Theyl Peter F. Stadler & Konstantin Klemm Bioinformatics Group, Dept. of Computer Science & Interdisciplinary Center for Bioinformatics, University

Mehr

Klausur Informatik B April Teil I: Informatik 3

Klausur Informatik B April Teil I: Informatik 3 Informatik 3 Seite 1 von 8 Klausur Informatik B April 1998 Teil I: Informatik 3 Informatik 3 Seite 2 von 8 Aufgabe 1: Fragekatalog (gesamt 5 ) Beantworten Sie folgende Fragen kurz in ein oder zwei Sätzen.

Mehr

2. Optimierungsprobleme 6

2. Optimierungsprobleme 6 6 2. Beispiele... 7... 8 2.3 Konvexe Mengen und Funktionen... 9 2.4 Konvexe Optimierungsprobleme... 0 2. Beispiele 7- Ein (NP-)Optimierungsproblem P 0 ist wie folgt definiert Jede Instanz I P 0 hat einen

Mehr

f h c 7 a 1 b 1 g 2 2 d

f h c 7 a 1 b 1 g 2 2 d ) Man bestimme mit Hilfe des Dijkstra-Algorithmus einen kürzesten Weg von a nach h: c 7 a b f 5 h 3 4 5 i e 6 g 2 2 d Beim Dijkstra-Algorithmus wird in jedem Schritt von den noch unmarkierten Knoten jener

Mehr

Algorithmen und Datenstrukturen 2

Algorithmen und Datenstrukturen 2 Algorithmen und Datenstrukturen 2 Sommersemester 2006 5. Vorlesung Peter F. Stadler Universität Leipzig Institut für Informatik [email protected] Wdhlg.: Dijkstra-Algorithmus I Bestimmung der

Mehr

11.1 Grundlagen - Denitionen

11.1 Grundlagen - Denitionen 11 Binärbäume 11.1 Grundlagen - Denitionen Denition: Ein Baum ist eine Menge, die durch eine sog. Nachfolgerrelation strukturiert ist. In einem Baum gilt: (I) (II) 1 Knoten w ohne VATER(w), das ist die

Mehr

23. November Betweenness Centrality Closeness Centrality. H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 108

23. November Betweenness Centrality Closeness Centrality. H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 108 23. November 2011 Betweenness Centrality Closeness Centrality H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 108 Betweenness Centrality Grundlegende Idee: Ein Knoten ist wichtig, wenn er auf

Mehr

Graphentheorie. Organisatorisches. Organisatorisches. Organisatorisches. Rainer Schrader. 23. Oktober 2007

Graphentheorie. Organisatorisches. Organisatorisches. Organisatorisches. Rainer Schrader. 23. Oktober 2007 Graphentheorie Rainer Schrader Organisatorisches Zentrum für Angewandte Informatik Köln 23. Oktober 2007 1 / 79 2 / 79 Organisatorisches Organisatorisches Dozent: Prof. Dr. Rainer Schrader Weyertal 80

Mehr

1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. Bäume / Graphen 5. Hashing 6. Algorithmische Geometrie

1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. Bäume / Graphen 5. Hashing 6. Algorithmische Geometrie Gliederung 1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. äume / Graphen. Hashing 6. Algorithmische Geometrie 4/6, Folie 1 2014 Prof. Steffen Lange - HDa/FbI

Mehr

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

Lernmodul 2 Graphen. Lernmodul 2: Geoobjekte und ihre Modellierung - Graphen Folie 1 von 20 Lernmodul 2 Graphen Folie 2 von 20 Graphen Übersicht Motivation Ungerichteter Graph Gerichteter Graph Inzidenz, Adjazenz, Grad Pfad, Zyklus Zusammenhang, Trennende Kante, Trennender Knoten

Mehr

Algorithmen II Vorlesung am

Algorithmen II Vorlesung am Algorithmen II Vorlesung am 0..0 Minimale Schnitte in Graphen INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg und Algorithmen nationales Forschungszentrum

Mehr

Graphenalgorithmen und lineare Algebra Hand in Hand Vorlesung für den Bereich Diplom/Master Informatik

Graphenalgorithmen und lineare Algebra Hand in Hand Vorlesung für den Bereich Diplom/Master Informatik Vorlesung für den Bereich Diplom/Master Informatik Dozent: Juniorprof. Dr. Henning Meyerhenke PARALLELES RECHNEN INSTITUT FÜR THEORETISCHE INFORMATIK, FAKULTÄT FÜR INFORMATIK KIT Universität des Landes

Mehr

Minimal spannender Baum

Minimal spannender Baum Minimal spannender Baum 16 1 2 21 5 11 19 6 6 3 14 33 10 5 4 18 Die Kreise zeigen die vorgesehenen Standorte neu zu errichtender Filialen einer Bank. Entlang der bestehenden Straßen sollen Telefonleitungen

Mehr

Konzepte der Informatik

Konzepte der Informatik Konzepte der Informatik Vorkurs Informatik zum WS 2011/2012 26.09. - 30.09.2011 17.10. - 21.10.2011 Dr. Werner Struckmann / Christoph Peltz Stark angelehnt an Kapitel 1 aus "Abenteuer Informatik" von Jens

Mehr

4 Greedy-Algorithmen (gierige Algorithmen)

4 Greedy-Algorithmen (gierige Algorithmen) Greedy-Algorithmen (gierige Algorithmen) Greedy-Algorithmen werden oft für die exakte oder approximative Lösung von Optimierungsproblemen verwendet. Typischerweise konstruiert ein Greedy-Algorithmus eine

Mehr

Fully dynamic algorithms for the single source shortest path problem.

Fully dynamic algorithms for the single source shortest path problem. Fully dynamic algorithms for the single source shortest path problem. Michael Baur Wintersemester 2001/2002 Zusammenfassung Im folgenden Paper werde ich Algorithmen für das dynamische Kürzeste-Wege-Problem

Mehr

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

Proseminar Kodierverfahren bei Dr. Ulrich Tamm Sommersemester 2003 Thema: Codierung von Bäumen (Prüfer Codes...) Proseminar Kodierverfahren bei Dr. Ulrich Tamm Sommersemester 2003 Thema: Codierung von Bäumen (Prüfer Codes...) Inhalt: Einleitung, Begriffe Baumtypen und deren Kodierung Binäre Bäume Mehrwegbäume Prüfer

Mehr

Gliederung. 5. Compiler. 6. Sortieren und Suchen. 7. Graphen

Gliederung. 5. Compiler. 6. Sortieren und Suchen. 7. Graphen 5. Compiler Gliederung 1. Struktur eines Compilers 2. Syntaxanalyse durch rekursiven Abstieg 3. Ausnahmebehandlung 4. Arrays und Strings 6. Sortieren und Suchen 1. Grundlegende Datenstrukturen 2. Bäume

Mehr

Graphentheorie 1. Diskrete Strukturen. Sommersemester Uta Priss ZeLL, Ostfalia. Hausaufgaben Graph-Äquivalenz SetlX

Graphentheorie 1. Diskrete Strukturen. Sommersemester Uta Priss ZeLL, Ostfalia. Hausaufgaben Graph-Äquivalenz SetlX Graphentheorie 1 Diskrete Strukturen Uta Priss ZeLL, Ostfalia Sommersemester 2016 Diskrete Strukturen Graphentheorie 1 Slide 1/19 Agenda Hausaufgaben Graph-Äquivalenz SetlX Diskrete Strukturen Graphentheorie

Mehr

Algorithmische Graphentheorie

Algorithmische Graphentheorie Algorithmische Graphentheorie WS 2008/2009 Vorlesung: Dr. Felix Brandt, Dr. Jan Johannsen Übung: Markus Brill, Felix Fischer Institut für Informatik LMU München Organisatorisches Vorlesung Donnerstag,

Mehr

14. Rot-Schwarz-Bäume

14. Rot-Schwarz-Bäume Bislang: Wörterbuchoperationen bei binären Suchbäume effizient durchführbar, falls Höhe des Baums klein. Rot-Schwarz-Bäume spezielle Suchbäume. Rot-Schwarz-Baum mit n Knoten hat Höhe höchstens 2 log(n+1).

Mehr

Grundlagen der Informatik. Prof. Dr. Stefan Enderle NTA Isny

Grundlagen der Informatik. Prof. Dr. Stefan Enderle NTA Isny Grundlagen der Informatik Prof. Dr. Stefan Enderle NTA Isny 2 Datenstrukturen 2.1 Einführung Syntax: Definition einer formalen Grammatik, um Regeln einer formalen Sprache (Programmiersprache) festzulegen.

Mehr

6. Übung zur Linearen Optimierung SS08

6. Übung zur Linearen Optimierung SS08 6 Übung zur Linearen Optimierung SS08 1 Sei G = (V, E) ein schlichter ungerichteter Graph mit n Ecken und m Kanten Für eine Ecke v V heißt die Zahl der Kanten (u, v) E Grad der Ecke (a) Ist die Anzahl

Mehr

Entscheidungsbäume. Definition Entscheidungsbaum. Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen?

Entscheidungsbäume. Definition Entscheidungsbaum. Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen? Entscheidungsbäume Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen? Definition Entscheidungsbaum Sei T ein Binärbaum und A = {a 1,..., a n } eine zu sortierenden Menge. T ist ein Entscheidungsbaum

Mehr

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

Notizen zu Transformationen und Permutationen. T (A) = {f : A A} Transformationen Notizen zu Transformationen und Permutationen Ist A eine Menge, so ist die Menge T (A) = {f : A A} bezüglich der Komposition (Hintereinanderausführung) als Operation und der identischen

Mehr

Algorithmen und Datenstrukturen in der Bioinformatik Viertes Übungsblatt WS 05/06 Musterlösung

Algorithmen und Datenstrukturen in der Bioinformatik Viertes Übungsblatt WS 05/06 Musterlösung Konstantin Clemens Johanna Ploog Freie Universität Berlin Institut für Mathematik II Arbeitsgruppe für Mathematik in den Lebenswissenschaften Algorithmen und Datenstrukturen in der Bioinformatik Viertes

Mehr

Minimal spannende Bäume

Minimal spannende Bäume Minimal spannende Bäume Ronny Harbich 4. Mai 006 (geändert 19. August 006) Vorwort Ich danke Patrick Bahr und meinem Bruder Steffen Harbich für die Unterstützung bei dieser Arbeit. Sie haben sowohl zu

Mehr

Kapitel 4: Minimale spannende Bäume Gliederung der Vorlesung

Kapitel 4: Minimale spannende Bäume Gliederung der Vorlesung Kapitel : Minimale spannende Bäume Gliederung der Vorlesung. Grundbegriffe 2. Elementare Graphalgorithmen und Anwendungen. Kürzeste Wege. Minimale spannende Bäume. Färbungen und Cliquen. Traveling Salesman

Mehr

Anmerkungen zur Übergangsprüfung

Anmerkungen zur Übergangsprüfung DM11 Slide 1 Anmerkungen zur Übergangsprüfung Aufgabeneingrenzung Aufgaben des folgenden Typs werden wegen ihres Schwierigkeitsgrads oder wegen eines ungeeigneten fachlichen Schwerpunkts in der Übergangsprüfung

Mehr

3.1 Konstruktion von minimalen Spannbäumen Es gibt zwei Prinzipien für die Konstruktion von minimalen Spannbäumen (Tarjan): blaue Regel rote Regel

3.1 Konstruktion von minimalen Spannbäumen Es gibt zwei Prinzipien für die Konstruktion von minimalen Spannbäumen (Tarjan): blaue Regel rote Regel 3.1 Konstruktion von minimalen Spannbäumen Es gibt zwei Prinzipien für die Konstruktion von minimalen Spannbäumen (Tarjan): blaue Regel rote Regel EADS 3.1 Konstruktion von minimalen Spannbäumen 16/36

Mehr

ADS: Algorithmen und Datenstrukturen 2

ADS: Algorithmen und Datenstrukturen 2 ADS: Algorithmen und Datenstrukturen 2 Teil 5 Prof. Peter F. Stadler & Dr. Christian Höner zu Siederdissen Bioinformatik/IZBI Institut für Informatik & Interdisziplinäres Zentrum für Bioinformatik Universität

Mehr

Kapitel 7: Flüsse in Netzwerken und Anwendungen Gliederung der Vorlesung

Kapitel 7: Flüsse in Netzwerken und Anwendungen Gliederung der Vorlesung Gliederung der Vorlesung. Fallstudie Bipartite Graphen. Grundbegriffe. Elementare Graphalgorithmen und Anwendungen. Minimal spannende Bäume. Kürzeste Pfade. Traveling Salesman Problem. Flüsse in Netzwerken

Mehr

Eine Baumstruktur sei folgendermaßen definiert. Eine Baumstruktur mit Grundtyp Element ist entweder

Eine Baumstruktur sei folgendermaßen definiert. Eine Baumstruktur mit Grundtyp Element ist entweder Programmieren in PASCAL Bäume 1 1. Baumstrukturen Eine Baumstruktur sei folgendermaßen definiert. Eine Baumstruktur mit Grundtyp Element ist entweder 1. die leere Struktur oder 2. ein Knoten vom Typ Element

Mehr

Grundlagen der Programmierung 2. Bäume

Grundlagen der Programmierung 2. Bäume Grundlagen der Programmierung 2 Bäume Prof. Dr. Manfred Schmidt-Schauÿ Künstliche Intelligenz und Softwaretechnologie 24. Mai 2006 Graphen Graph: Menge von Knoten undzugehörige (gerichtete oder ungerichtete)

Mehr

Kombinatorische Optimierung

Kombinatorische Optimierung Juniorprof. Dr. Henning Meyerhenke 1 Henning Meyerhenke: KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Vorlesungen 5 und 6 Programm

Mehr

Was bisher geschah. 1. Zerlegung in monotone Polygone 2. Triangulierung der monotonen Teilpolygone

Was bisher geschah. 1. Zerlegung in monotone Polygone 2. Triangulierung der monotonen Teilpolygone Was bisher geschah Motivation, Beispiele geometrische Objekte im R 2 : Punkt, Gerade, Halbebene, Strecke, Polygon, ebene Zerlegung in Regionen (planare Graphen) maschinelle Repräsentation geometrischer

Mehr

Algorithmen II Vorlesung am 15.11.2012

Algorithmen II Vorlesung am 15.11.2012 Algorithmen II Vorlesung am 15.11.2012 Kreisbasen, Matroide & Algorithmen INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg und Algorithmen nationales

Mehr

Datenstruktur, die viele Operationen dynamischer Mengen unterstützt

Datenstruktur, die viele Operationen dynamischer Mengen unterstützt Algorithmen und Datenstrukturen 265 10 Binäre Suchbäume Suchbäume Datenstruktur, die viele Operationen dynamischer Mengen unterstützt Kann als Wörterbuch, aber auch zu mehr eingesetzt werden (Prioritätsschlange)

Mehr

Kapitel MK:IV. IV. Modellieren mit Constraints

Kapitel MK:IV. IV. Modellieren mit Constraints Kapitel MK:IV IV. Modellieren mit Constraints Einführung und frühe Systeme Konsistenz I Binarization Generate-and-Test Backtracking-basierte Verfahren Konsistenz II Konsistenzanalyse Weitere Analyseverfahren

Mehr

Kapitel 3. Kombinatorische Optimierung. 3.1 Begriffe aus der Graphentheorie

Kapitel 3. Kombinatorische Optimierung. 3.1 Begriffe aus der Graphentheorie Kapitel 3 Kombinatorische Optimierung 3 Begriffe aus der Graphentheorie Zur Beschreibung vieler Optimierungsprobleme eignet sich besonders die Sprache der Graphentheorie Das erste graphentheoretisch beschriebene

Mehr