Kap. 6.3: Traversieren von Graphen Kap. 6.4: Elementare Graphalgorithmen
|
|
- Franziska Goldschmidt
- vor 7 Jahren
- Abrufe
Transkript
1 Kap. 6.3: Traversieren von Graphen Kap. 6.4: Elementare Graphalgorithmen Professor Dr. Lehrstuhl für Algorithm Engineering, LS11 Fakultät für Informatik, TU Dortmund 19. VO DAP2 SS Juni
2 Anmeldung zur Klausur um 9:00 Uhr Informatik AI/KI Bacc+Diplom: BOSS System Informationstechnik Diplom: ACHTUNG: bis : online Elektrotechnik Diplom: direkt bei uns Physik Bacc/Diplom: ihr Dekanat Datenanalyse und Datenmanagement / Statistik Bacc/Diplom: ihr eigenes Prüfungsamt Mathematik Bacc/Diplom: erst ab 1.7. bekannt (wahrscheinlich BOSS System) Lehramt, BaMaLa: direkt bei uns? 2
3 Nachtest für Ausnahmefälle Di 1. Juli 2008, 10:15 Uhr, OH14, R. 202 Anmeldung bis 26. Juni erforderlich via an Carsten Gutwenger Stoff: Alles bis inkl. Hashing (inkl Übungsblatt) Teilnahmevoraussetzungen: Attest/Entschuldigt beim 1. oder 2. Übungstest oder besondere Härtefälle anerkannt in meiner Sprechstunde Di ,14:15 Uhr-15:15 Uhr 3
4 Motivation Heute braucht es keine Motivation, denn: Spielereien DFS mit 4
5 Überblick Darstellung von Graphen im Rechner Traversieren von Graphen: Breitensuche (BFS) Tiefensuche (DFS) Elementare Graphalgorithmen: Zusammenhangskomponenten Kreise in Graphen 5
6 Darstellung von Graphen im Rechner: Statische Graphen Im Folgenden sei V={v 1,v 2,,v n } 1. Möglichkeit: Adjazenzlisten Idee: Speichere für jeden Knoten seine Nachbarmenge in einer Liste Realisierung: z.b. Knoten in Array und Nachbarkanten jedes Knotens als einfach verkettete Liste 6
7 Darstellung von Graphen im Rechner: Statische Graphen 2. Möglichkeit: Adjazenzmatrix Idee: Eine VxV Matrix enthält 0/1-Einträge für jedes Knotenpaar {u,v} Realisierung: Sei M=(m i,j ) eine n x n Matrix mit m ij :=1 falls (v i,v j ) E, und m ij :=0 sonst. bei Mehrfachkanten schreibe statt 1 die Anzahl der Kanten 7
8 Darstellung gerichteter Graphen Adjazenzlisten Adjazenzmatrix 8
9 Darstellung ungerichteter Graphen Adjazenzlisten Adjazenzmatrix ist symmetrisch: nur Speicherung 9 der oberen Hälfte
10 HIER: ab jetzt Adjazenzlisten Diskussion für dünne Graphen vorzuziehen! Adjazenzliste: Speicherplatzverbrauch: linear: Θ( V + E ) Zeit für Aufbau: linear: Θ( V + E ) Abfrage, ob Kante (u,v) existiert: Θ(d(v)) Iteration über alle Nachbarn von v V: Θ(d(v)) Adjazenzmatrix: Speicherverbrauch immer quadratisch: Θ( V 2 ) Zeit für Aufbau: immer quadratisch: Θ( V 2 ) Abfrage, ob Kante (u,v) existiert: Θ(1) Iteration über alle Nachbarn von v V: Θ( V ) 10
11 Definitionen Die Dichte (density) eines Graphen G ist das Verhältnis E / V. G heißt dünn, falls seine Dichte O(1) ist G heißt dicht, falls seine Dichte Ω( V ) ist. 11
12 Darstellung von Graphen im Rechner: Dynamische Graphen Dynamisch unter den Operationen: Hinzufügen neuer Knoten und Kanten Entfernen von Knoten und Kanten Idee: für gerichtete Graphen: Inzidenzlisten: speichere ein- und ausgehende Knoten bei v Knoten in doppelt verketteter Liste (damit Entfernen in konstanter Zeit) Inzidenzlisten in doppelt verketteten Listen 12
13 Realisierung Dynamische Graphen: Liste für die Knoten struct Node var Node prev // Vorgänger Knotenliste var Node next // Nachfolger in Knotenliste var Edge outhead // Listenanfang ausgeh. Kanten var Edge inhead // Listenanfang eingeh. Kanten var int index // fortlaufender Index end struct 13
14 Realisierung Dynamische Graphen: Liste für die Kanten struct Edge var Edge prevout //Vorgänger in Liste ausg. Kanten var Edge nextout //Nachfolger in Liste ausg. Kanten var Edge previn // Vorgänger in Liste eing. Kanten var Edge nextin // Nachfolger in Liste eing. Kanten var node source // Anfangsknoten der Kante var node target // Endknoten der Kante end struct Achtung: jeder Kanteneintrag ist genau einmal in Liste enthalten 14
15 Darstellung von Graphen im Rechner: Dynamische Graphen Legende Liste der eingehenden Kanten: 15
16 Analyse Dynamischer Graphen Speicherplatzverbrauch: linear: Θ( V + E ) Zeit für Aufbau: linear: Θ( V + E ) Abfrage, ob Kante (u,v) existiert: Θ(d(v)) Iteration über alle Nachbarn von v V: Θ(d(v)) Iteration über alle ausg. Kanten von v V: Θ(d - (v)) Iteration über alle eing. Kanten von v V: Θ(d + (v)) Einfügen eines Knotens bzw. Kante: Θ(1) Entfernen einer Kante: Θ(1) Entfernen eines Knotens: Θ(d(v)) Man geht davon aus, dass man jeweils Zeiger auf die Knoten und beim Entfernen auch auf die Kanten gegeben hat 16
17 Kap. 6.3 Traversieren von Graphen Traversieren: systematisches Durchwandern von Graphen HIER: ungerichtete Graphen Def.: Der graphentheoretische Abstand zweier Knoten u, v eines ungerichteten Graphen G ist die Länge des kürzesten Weges von u nach v, falls ein solcher existiert, sonst. Achtung: hierbei werden keine vorgegebenen Kantenlängen bzw. Kantengewichte berücksichtigt.
18 Kap Breitensuche (BFS) engl.: Breadth-first-search, BFS Idee: besuche die Knoten nach aufsteigendem graphentheoretischen Abstand zu einem vorher festgelegten Startknoten. 1. Fall: Wir sehen v zum ersten Mal (von u aus): Dann muss dist(v) um genau 1 größer sein als dist(u). Wir können v besuchen, nachdem wir alle bisher gesehenen Knoten besucht haben. 2. Fall: wir haben v schon gesehen nichts zu tun 18
19 Breitensuche (BFS) Methode: (1) Starte am Knoten u:=s. Sei Q:= eine Queue. (2) Für alle Knoten v N(u) // erforsche Knoten u (3) Falls wir v zum ersten Mal sehen: (4) markiere v als gesehen (5) dist(v):=dist(u)+1; merke Vorgänger; (6) hänge v hinten an Q an. (7) Sei u der nächste Knoten in Q. Gehe zu (2) dist(v) enthält den graphentheoretischen Abstand von u nach v; π(v) den Vorgänger des kürz. Weges 19
20 Beispiel für BFS 1 1 c b 20
21 Beispiel für BFS c b e d 21
22 Beispiel für BFS b e d 22
23 Beispiel für BFS e d g f 23
24 Beispiel für BFS d g f 24
25 Beispiel für BFS g f 25
26 Beispiel für BFS f 26
27 Beispiel für BFS Breitensuche entspricht einer level-order Traversierung in diesem BFS-Baum Die orangen Kanten (diejenigen Kanten (u,v), die zum ersten Mal v besuchen) bilden einen Baum: den BFS-Baum (oder BFS-Wald, wenn G nicht zusammenhängend ist)
28 Algorithmus BFS(s) Sei G=(V,E) ungerichteter Graph, s,u,v: Knoten (1) for all v V \ {s} do { marked[v]:=0; dist[v]:= } (2) Q.put(s); marked[s]:=1; dist[s]:=π[s]:=0 (3) while not Q.ISEMPTY() do { (4) u:=q.get() (5) for all v N(u) do { (6) if not marked[v] then { (7) Q.Put(v) (8) marked[v]:=1 (9) dist[v]:=dist[u]+1; π[v]:=u (10) } } } 30
29 BFS-Baum Im Feld π[v] werden die Vorgänger von v gespeichert. Die Kanten (π(v),v) bilden einen Baum mit Wurzel s. Die Höhe des BFS-Baumes mit Startknoten s ist eindeutig bestimmt. Die Tiefe eines Blattes v entspricht dem graphentheoretischen Abstand von v zu s Wurzel s
30 Analyse von BFS Initialisierung: Θ( V ) Die while-schleife wird für jeden von s aus erreichbaren Knoten genau einmal durchlaufen, da jeder Knoten höchstens einmal in die Queue kommt. Die for all-schleife durchläuft für jeden Knoten die Liste seiner Nachbarn N(v), das ist also jeweils Θ(d(v)) Aufwand Gesamtaufwand: Θ( V )+ Θ(d(v))= Θ( V + E ), v V da im Worst Case alle Knoten von s aus erreichbar sein können
31 Problem USSSP Unweighted Single-Source Shortest Path (USSSP): Gegeben: ungerichteter Graph G=(V,E) Gesucht: kürzester Weg von s zu jedem Knoten in G. 33
32 Breitensuche (BFS) Theorem: Sei G=(V,E) ein ungerichteter Graph und s V. Dann löst der Algorithmus BFS(s) das Unweighted Single-Source Shortest Path (USSSP) für Startknoten s in Zeit O( V + E ). 34
33 Kap Tiefensuche 35
34 Tiefensuche (DFS) engl.: Depth-first-search, DFS Idee: besuche die Knoten rekursiv: wenn v zum ersten Mal gesehen wird, markiere ihn als gesehen und erforsche den Graphen von v aus weiter! Im Gegensatz zu Breitensuche, wird hier der Graph erst einmal in seiner Tiefe durchdrungen. Bei Breitensuche werden erst alle gesehenen Knoten bearbeitet, bevor die neuen bearbeitet werden (Queue). Hier wir immer erst das Neue erledigt. 36
35 Tiefensuche DFS Methode: DFS-VISIT(v): Durchlaufe alle Nachbarn von v Für jeden neu entdeckten (nicht markierten) Knoten w: Markiere w; rufe DFS-VISIT(w) auf. Der folgende Algorithmus DFS(G) durchwandert alle Knoten des Graphen. Im Feld π[w] wird jeweils der Vorgänger von w (also v) gespeichert. 37
36 Algorithmus DFS(G) Sei G=(V,E) ungerichteter Graph, v,w: Knoten (1) for all v V do { marked[v]:=0; π[v]:=nil} (2) for all v V do { (3) if not marked[v] then DFS-VISIT(v) (4) } (5) procedur DFS-VISIT(Node v) (6) marked[v]:=1 (7) for all w N(v) do (8) if not marked[w] then { (9) π[w]:=v (10) DFS-VISIT(w) (11) }
37 Beispiel für DFS 2 c 39
38 Beispiel für DFS 2 3 e c 40
39 Beispiel für DFS g e c
40 Beispiel für DFS f g e c
41 Beispiel für DFS f g e c
42 Beispiel für DFS g e c
43 Beispiel für DFS d e c
44 Beispiel für DFS b d e c
45 Beispiel für DFS b d e c
46 Beispiel für DFS d e c
47 Beispiel für DFS e c
48 Beispiel für DFS c
49 Beispiel für DFS
50 Beispiel für DFS Die orangen Kanten (diejenigen Kanten (u,v), die zum ersten Mal v besuchen) bilden einen Baum: den DFS-Baum (G zusammenhängend, sonst Wald)
51 Sei G zusammenhängend DFS-Baum DFS-Baum besteht aus Baumkanten (tree edges, T-Kanten): (π(v),v) Rückwärtskanten (back edges, B-Kanten): s.u. DFS teilt die Kanten in T-Kanten und B-Kanten Für jede B-Kante (u,v) gilt: Es gibt genau einen Weg von v nach u mit T-Kanten im DFS-Baum v 7 6 u 5
52 Sei G zusammenhängend DFS-Baum Jeder Knoten erhält eine eindeutige DFS-Nummer. Für die Rückwärtskanten (u,v) gilt: DFSNUM(u) > DFSNUM(v). DFS teilt die Kanten in T-Kanten und B-Kanten Für jede B-Kante (u,v) gilt: Es gibt genau einen Weg von v nach u mit T-Kanten im DFS-Baum v 7 6 u 5
53 Analyse von DFS Initialisierung: Θ( V ) Die for-all-schleife ohne Aufrufe von DFS-VISIT(): O( V ). DFS-VISIT() wird für jeden Knoten genau einmal aufgerufen. Jeder Aufruf von DFS-VISIT(v) (ohne Kosten der rekursiven Aufrufe) benötigt Θ(d(v)) Zeit. Gesamtaufwand: Θ( V )+ Θ(d(v))= Θ( V + E ) v V 57
54 BFS-Baum vs. DFS-Baum BFS-Baum Höhe eindeutig DFS-Baum
55 BFS & DFS BFS-Baum DFS-Baum 59
56 Kap. 6.4 Elementare Graphenalgorithmen Kap Komponenten eines Graphen Zusammenhangskomponenten 60
57 Definitionen (Zusammenhang) G heißt zusammenhängend (connected), wenn V 1 und für jedes Paar u,v von Knoten ein Weg von u nach v in G existiert. Ein Graph G =(V,E ) mit V V und E E ist ein Untergraph (Teilgraph, subgraph) von G. Wir schreiben G G. Eine (Zusammenhangs-) Komponente (component) von G ist ein maximaler zusammenhängender Untergraph U von G, d.h. es gibt keinen anderen zusammenhängenden Untergraphen U mit U U. 61
58 Komponenten eines Graphen C 1 C 3 C 2 C 4 T-Kanten des DFS-Waldes 62
59 Idee: Bestimmen der Zusammenhangskomponenten Beginne an einem Knoten s und bestimme alle von s aus erreichbaren Knoten Komponente 1 (Markierung mit 1) Beginne nun bei einem noch unmarkierten Knoten v (marked==0) und bestimme alle von v aus erreichbaren Knoten; markiere dabei mit 2 Komponente 2 u.s.w. bis alle Knoten markiert sind 63
60 Algorithmus COMPONENTS(G) Sei G=(V,E) ungerichteter Graph, v,w: Knoten (1) for all v V do { marked[v]:=0} (2) numcomps:=0 (3) for all v V do { (4) if not marked[v] then { (5) numcomps:=numcomps+1 (6) DFS-COMP(v) (7) } } (8) Procedure DFS-COMP(Node v) (9) marked[v]:=numcomps (10) for all w N(v) do (11) if not marked[w] then (12) DFS-COMP(w)
61 Bestimmen der Zusammenhangskomponenten Theorem: Der Algorithmus COMPONENTS(G) bestimmt die Zusammenhangskomponenten eines Graphen G=(V,E) in Zeit Θ( V + E ). 65
62 Kap Kreise in Graphen Aufgabe: Gegeben ist ein ungerichteter Graph G=(V,E). Enthält G einen Kreis? Idee: mittels DFS 66
63 Kreise und DFS Lemma: Sei G ein ungerichteter Graph und F ein beliebiger DFS-Wald für G. Dann ist G genau dann kreisfrei, wenn G keine Rückwärtskante (B-Kante) bezüglich F enthält. Beweis: 1. Fall: F enthält keine B-Kante: dann besteht F nur aus T-Kanten F enthält alle Kanten aus G G kreisfrei 2. Fall: Sei (u,v) B-Kante bzgl. F es existiert Weg v,,u mit T-Kanten in F Weg mit Kante (u,v) bildet Kreis in G. 67
64 Kreise und DFS Methode: Erweitere DFS um Speicherung der B-Kanten: sobald wir von v aus auf einen markierten Knoten u treffen, haben wir eine B-Kante gefunden, falls u nicht der direkte Vorgänger (Elter) von v ist. Algorithmus ISACYCLIC(G) speichert dabei alle B-Kanten. Wenn man nur einen Kreis finden möchte, dann kann man abbrechen, sobald man eine B-Kante gefunden hat. 68
65 Algorithmus ISACYCLIC(G) Sei G=(V,E) ungerichteter Graph (1) function ISACYCLIC(Graph G=(V,E)) : bool { (2) B := (3) for all v V do { marked[v]:=0; π(v):=nil } (4) for all v V do { (5) if not marked[v] then (6) DFS-ACYCLIC(v) (7) } (8) if B then return false else return true (9) } 69
66 Algorithmus ISACYCLIC(G) ff (1) procedure DFS-ACYCLIC(Node v) { (2) marked[v] := true (3) for all w N(v) do (4) if not marked[w] then (5) π[w] := v (6) DFS-ACYCLIC(w) (7) else if π [v] w then (8) B := B (v,w) (9) } (10) } 70
67 Welche Kreise werden gefunden? Pfad von T-Kanten + eine B-Kante a c e f d g b 75
68 Test auf Kreisfreihet Theorem: Die Funktion ISACYCLIC(G) testet einen ungerichteten Graphen G=(V,E) auf Kreisfreiheit in Zeit Θ( V + E ). 76
69 77
70 Zum Ausschneiden und Üben 78
71 Q a b c d e f g
Kap. 5: Graphen. Carsten Gutwenger Lehrstuhl für Algorithm Engineering, LS11 Fakultät für Informatik, TU Dortmund. 17. VO DAP2 SS
Kap. 5: Graphen Lehrstuhl für Algorithm Engineering, LS11 Fakultät für Informatik, TU Dortmund 17. VO DAP2 SS 2009 23. Juni 2008 1 Motivation Warum soll ich heute hier bleiben? Graphen sind wichtig und
MehrMotivation Kap. 6: Graphen
Motivation Kap. 6: Graphen Warum soll ich heute hier bleiben? Graphen sind wichtig und machen Spaß! Professor Dr. Lehrstuhl für Algorithm Engineering, LS Fakultät für Informatik, TU Dortmund Was gibt es
MehrInformatik II, SS 2016
Informatik II - SS 2016 (Algorithmen & Datenstrukturen) Vorlesung 13 (8.6.2016) Graphenalgorithmen I Algorithmen und Komplexität Graphen Knotenmenge V, typischerweise n V Kantenmenge E, typischerweise
MehrKap. 6.6: Kürzeste Wege
0.0.00 Nachtest für Ausnahmefälle Kap..: Kürzeste Wege Professor Dr. Lehrstuhl für Algorithm Engineering, LS Fakultät für Informatik, TU Dortmund./. VO DAP SS 00./. Juli 00 Di. Juli 00, :00 Uhr, OH, R.
MehrKap. 6.6: Kürzeste Wege
Kap. 6.6: Kürzeste Wege Professor Dr. Lehrstuhl für Algorithm Engineering, LS11 Fakultät für Informatik, TU Dortmund 1./. VO DAP SS 009./9. Juli 009 1 Nachtest für Ausnahmefälle Di 1. Juli 009, 16:00 Uhr,
Mehr15. Elementare Graphalgorithmen
Graphen sind eine der wichtigste Modellierungskonzepte der Informatik Graphalgorithmen bilden die Grundlage vieler Algorithmen in der Praxis Zunächst kurze Wiederholung von Graphen. Dann Darstellungen
MehrInformatik II, SS 2016
Informatik II - SS 2018 (Algorithmen & Datenstrukturen) Vorlesung 12 (4.6.2018) Graphenalgorithmen I Yannic Maus Algorithmen und Komplexität Graphen Knotenmenge V, typischerweise n V Kantenmenge E, typischerweise
MehrProgramm heute. Algorithmen und Datenstrukturen (für ET/IT) Übersicht: Graphen. Definition: Ungerichteter Graph. Definition: Ungerichteter Graph
Programm heute Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 07 Dr. Stefanie Demirci Computer Aided Medical Procedures Technische Universität München 7 Fortgeschrittene Datenstrukturen Graphen
MehrKap. 6.5: Minimale Spannbäume
Kap. 6.5: Minimale Spannbäume Professor Dr. Lehrstuhl für Algorithm Engineering, LS11 Fakultät für Informatik, TU Dortmund 19./20. VO DAP2 SS 2009 30.6./2.7.2009 1 Anmeldung zur Klausur 31.07.2009 um 10:15
MehrInformatik II, SS 2018
Informatik II - SS 2018 (Algorithmen & Datenstrukturen) Vorlesung 13 (6.6.2018) Graphenalgorithmen II Yannic Maus Algorithmen und Komplexität Repräsentation von Graphen Zwei klassische Arten, einen Graphen
MehrDefinition 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.
MehrDiskrete Strukturen WS 2005/06. Ernst W. Mayr. 27. Januar Fakultät für Informatik TU München
WS 2005/06 Ernst W. Mayr Fakultät für Informatik TU München http://www14.in.tum.de/lehre/2005ws/ds/ 27. Januar 2006 Ernst W. Mayr 2.16 Inzidenzmatrix 3. Definitionen für gerichtete Graphen 3.1 Digraph
Mehr(a, b)-bäume / 1. Datenmenge ist so groß, dass sie auf der Festplatte abgespeichert werden muss.
(a, b)-bäume / 1. Szenario: Datenmenge ist so groß, dass sie auf der Festplatte abgespeichert werden muss. Konsequenz: Kommunikation zwischen Hauptspeicher und Festplatte - geschieht nicht Byte für Byte,
MehrGraphenalgorithmen I. Geschickt Programmieren für den ICPC- Wettbewerb. Felix Weissenberger
Graphenalgorithmen I Geschickt Programmieren für den ICPC- Wettbewerb Felix Weissenberger Inhalt Grundlagen zu Graphen Begriffe Darstellung von Graphen Graphenalgorithmen Breitensuche Tiefensuche Topologisches
MehrFerienkurs zur algorithmischen diskreten Mathematik Kapitel 1: Grundlagen der algorithmischen Graphentheorie
Ferienkurs zur algorithmischen diskreten Mathematik Kapitel 1: Grundlagen der algorithmischen Graphentheorie Dipl-Math. Wolfgang Kinzner 2.4.2012 Kapitel 1: Grundlagen der algorithmischen Graphgentheorie
MehrVL-14: Graphalgorithmen I. (Datenstrukturen und Algorithmen, SS 2017) Gerhard Woeginger
VL-14: Graphalgorithmen I (Datenstrukturen und Algorithmen, SS 2017) Gerhard Woeginger SS 2017, RWTH DSAL/SS 2017 VL-14: Graphalgorithmen I 1/48 Organisatorisches Vorlesung: Gerhard Woeginger (Zimmer 4024
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Prof. Martin Lercher Institut für Informatik Heinrich-Heine-Universität Düsseldorf Teil 10 Suche in Graphen Version vom 13. Dezember 2016 1 / 2 Vorlesung 2016 / 2017 2 /
MehrDefinition Gerichteter Pfad. gerichteter Pfad, wenn. Ein gerichteter Pfad heißt einfach, falls alle u i paarweise verschieden sind.
3.5 Gerichteter Pfad Definition 291 Eine Folge (u 0, u 1,..., u n ) mit u i V für i = 0,..., n heißt gerichteter Pfad, wenn ( i {0,..., n 1} ) [ (u i, u i+1 ) A]. Ein gerichteter Pfad heißt einfach, falls
MehrGraphenalgorithmen I
Graphenalgorithmen I Vortrag im Seminar Hallo Welt! für Fortgeschrittene 7. Juni 211 Graphenalgorithmen I 1/33 Motivation Problem Wie komme ich am schnellsten ins Kanapee? Problem Wie kommt ein Datenpaket
MehrAlgorithmen und Datenstrukturen 2-1. Seminar -
Algorithmen und Datenstrukturen 2-1. Seminar - Dominic Rose Bioinformatics Group, University of Leipzig Sommersemster 2010 Outline 1. Übungsserie: 3 Aufgaben, insgesamt 30 28 Punkte A1 Spannbäume (10 8
MehrKap. 6.5: Minimale Spannbäume ff
Kap. 6.: Minimale Spannbäume ff Professor Dr. Karsten Klein Lehrstuhl für Algorithm Engineering, LS11 Fakultät für Informatik, TU Dortmund 20. VO 2. TEIL DAP2 SS 2009 2. Juli 2009 SS08 1 Überblick 6.:
MehrAlgorithmen und Datenstrukturen SS09. Foliensatz 17. Michael Brinkmeier. Technische Universität Ilmenau Institut für Theoretische Informatik
Foliensatz 17 Michael Brinkmeier Technische Universität Ilmenau Institut für Theoretische Informatik Sommersemester 2009 TU Ilmenau Seite 1 / 69 TU Ilmenau Seite 2 / 69 Graphtraverse Wie bei Bäumen, ist
MehrDatenstrukturen. einfach verkettete Liste
einfach verkettete Liste speichert Daten in einer linearen Liste, in der jedes Element auf das nächste Element zeigt Jeder Knoten der Liste enthält beliebige Daten und einen Zeiger auf den nächsten Knoten
MehrGraphdurchmusterung, Breiten- und Tiefensuche
Prof. Thomas Richter 18. Mai 2017 Institut für Analysis und Numerik Otto-von-Guericke-Universität Magdeburg thomas.richter@ovgu.de Material zur Vorlesung Algorithmische Mathematik II am 18.05.2017 Graphdurchmusterung,
Mehr2.4 Starke Zusammenhangskomponenten in Digraphen
Starke Zusammenhangskomponenten Einleitung 2.4 Starke Zusammenhangskomponenten in Digraphen Definition 2.4.1 Zwei Knoten v und w in einem Digraphen G heißen äquivalent, wenn v w und w v gilt. Notation:
Mehr12. Graphen. Notation, Repräsentation, Traversieren (DFS, BFS), Topologisches Sortieren, Ottman/Widmayer, Kap ,Cormen et al, Kap.
254 12. Graphen Notation, Repräsentation, Traversieren (DFS, BFS), Topologisches Sortieren, Ottman/Widmayer, Kap. 9.1-9.4,Cormen et al, Kap. 22 Königsberg 1736 255 Königsberg 1736 255 Königsberg 1736 255
MehrGraphalgorithmen I. Simon Regnet. May 16, Universität Erlangen. Simon Regnet (Universität Erlangen) Graphalgorithmen I May 16, / 56
Graphalgorithmen I Simon Regnet Universität Erlangen May 16, 2008 Simon Regnet (Universität Erlangen) Graphalgorithmen I May 16, 2008 1 / 56 Inhalt 1 Motivation 2 Terminologie 3 Datenstrukturen 4 Suche
MehrAlgorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 2013 / 2014 Vorlesung 12, Donnerstag, 23.
Algorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 0 / 04 Vorlesung, Donnerstag,. Januar 04 (Graphen, Breiten/Tiefensuche, Zusammenhangskomponenten) Junior-Prof.
MehrAlgorithmen I - Tutorium 28 Nr. 9
Algorithmen I - Tutorium 28 Nr. 9 29.06.2017: Spaß mit Graphen und Graphtraversierung Marc Leinweber marc.leinweber@student.kit.edu INSTITUT FÜR THEORETISCHE INFORMATIK (ITI), PROF. DR. JÖRN MÜLLER-QUADE
MehrTraversierung 1 / 16. P.F. Stadler & S. Will (Bioinf, Uni LE) ADS 2, V3 23. April / 16
P.F. Stadler & S. Will (Bioinf, Uni LE) ADS, V. April 0 / P.F. Stadler & S. Will (Bioinf, Uni LE) ADS, V. April 0 / Traversierung ADS: Algorithmen und Datenstrukturen Teil Prof. Peter F. Stadler & Sebastian
MehrEin 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
MehrGraphalgorithmen I. Katharina Reif Hallo Welt -Seminar - LS 2
Graphalgorithmen I Katharina Reif 14.06.2017 allo Welt -Seminar - LS 2 Überblick Einführung Speichern von Graphen Topologische Sortierung Zusammenhang und Zusammenhangskomponenten Artikulationspunkte rücken
MehrVorlesung Datenstrukturen
Vorlesung Datenstrukturen Graphdurchläufe Maike Buchin 22. und 27.6.2017 Graphexploration Motivation: Für viele Zwecke will man den gesamten Graphen durchlaufen, zb. um festzustellen ob er (stark) zusammenhängt.
MehrKapitel IV Minimale Spannbäume
Kapitel IV Minimale Spannbäume. Grundlagen Ein Graph G = (V, E) besteht aus einer Menge V von Knoten und einer Menge E von Kanten. Wir werden nur endliche Knoten- (und damit auch Kanten-) Mengen betrachten.
MehrAlgorithmen und Datenstrukturen SS09. Foliensatz 16. Michael Brinkmeier. Technische Universität Ilmenau Institut für Theoretische Informatik
Foliensatz 16 Michael Brinkmeier Technische Universität Ilmenau Institut für Theoretische Informatik Sommersemester 2009 TU Ilmenau Seite 1 / 45 Graphen TU Ilmenau Seite 2 / 45 Graphen 1 2 3 4 5 6 7 8
Mehr10. Ü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 0. Übungsblatt zu Algorithmen I im SS 00 http//algo.iti.kit.edu/algorithmeni.php
Mehr12. Graphen. Königsberg Zyklen. [Multi]Graph
Königsberg 76. Graphen, Repräsentation, Traversieren (DFS, BFS), Topologisches Sortieren, Ottman/Widmayer, Kap. 9. - 9.,Cormen et al, Kap. [Multi]Graph Zyklen C Kante Gibt es einen Rundweg durch die Stadt
MehrBreitensuche BFS (Breadth First Search)
Breitensuche BFS (Breadth First Search) Algorithmus BREITENSUCHE EINGABE: G = (V, E) als Adjazenzliste, Startknoten s V 1 Für alle v V 1 If (v = s) then d[v] 0 else d[v] ; 2 pred[v] nil; 2 Q new Queue;
MehrAlgorithmen I. Tutorium 1-8. Sitzung. Dennis Felsing
Algorithmen I Tutorium 1-8. Sitzung Dennis Felsing dennis.felsing@student.kit.edu www.stud.uni-karlsruhe.de/~ubcqr/algo 2011-06-06 Überblick 1 Allgemeines Adjazenzliste Adjazenzmatrix Adjazenzfeld Aufgaben
MehrAlgorithmus zur topologischen Nummerierung: while V = 0 do nummeriere eine Quelle mit der nächsten Nummer streiche diese Quelle aus V od
Algorithmus zur topologischen Nummerierung: while V = 0 do nummeriere eine Quelle mit der nächsten Nummer streiche diese Quelle aus V od Diskrete Strukturen 3.7 dag 473/556 3.8 Zusammenhang Definition
MehrQuicksort ist ein Divide-and-Conquer-Verfahren.
. Quicksort Wie bei vielen anderen Sortierverfahren (Bubblesort, Mergesort, usw.) ist auch bei Quicksort die Aufgabe, die Elemente eines Array a[..n] zu sortieren. Quicksort ist ein Divide-and-Conquer-Verfahren.
MehrVorlesung Datenstrukturen
Vorlesung Datenstrukturen Graphen (1) Darstellung Traversierung Dr. Frank Seifert Vorlesung Datenstrukturen - Sommersemester 2016 Folie 441 Generalisierung von Bäumen Verallgemeinerung (von Listen zu Graphen)
MehrAlgorithmen & Komplexität
Algorithmen & Komplexität Angelika Steger Institut für Theoretische Informatik steger@inf.ethz.ch Breitensuche, Tiefensuche Wir besprechen nun zwei grundlegende Verfahren, alle Knoten eines Graphen zu
MehrKapitel IV Minimale Spannbäume
Kapitel IV Minimale Spannbäume 1. Grundlagen Ein Graph G = (V, E) besteht aus einer Menge V von Knoten und einer Menge E von Kanten. Wir werden nur endliche Knoten- (und damit auch Kanten-) Mengen betrachten.
MehrÜbung Algorithmen und Datenstrukturen
Übung Algorithmen und Datenstrukturen Sommersemester 217 Marc Bux, Humboldt-Universität zu Berlin Agenda 1. Graphen und Bäume 2. Binäre Suchbäume 3. AVL-Bäume 4. Algorithmen und Datenstrukturen 2 Agenda
MehrInformatik II, SS 2014
Informatik II SS 2014 (Algorithmen & Datenstrukturen) Vorlesung 16 (2.7.2014) Graphtraversierung II, Minimale Spannbäume I Algorithmen und Komplexität Tiefensuche: Pseusocode DFS Traversal: for all u in
MehrEinführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung)
Wintersemester 2005/06 Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich Informatik Lehrstuhl
MehrZweizusammenhang und starker Zusammenhang
.. Zeizusammenhang und starker Zusammenhang Carsten Gutenger Vorlesung Algorithmen und Datenstrukturen WS /. Januar Zeizusammenhang Betrachte ein Netzerk (Graph) Z.B. Computernetzerk, Flug- oder Schienennetzerk
MehrWS 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
MehrDatenstrukturen und Algorithmen
Joost-Pieter Katoen Datenstrukturen und Algorithmen 1/81 Datenstrukturen und Algorithmen Vorlesung 14+15: Elementare Graphenalgorithmen (K22,K24.2) Joost-Pieter Katoen Lehrstuhl für Informatik 2 Software
MehrEinführung in die Informatik 2
Einführung in die nformatik 2 raphenexploration Sven Kosub A Algorithmik/Theorie komplexer Systeme Universität Konstanz E 202 Sven.Kosub@uni-konstanz.de Sprechstunde: Freitag, 12:30-14:00 Uhr, o.n.v. Sommersemester
MehrExkurs: Graphtraversierung
Sanders: Informatik III November 28, 2006 1 Exkurs: Graphtraversierung Begriffe Graphrepräsentation Erreichbarkeit mittels Tiefensuche Kreise Suchen Sanders: Informatik III November 28, 2006 2 Gerichtete
Mehr14. Elementare Graphalgorithmen
Graphen sind eine der wichtigsten Modellierungskonzepte der Informatik Graphalgorithmen bilden die Grundlage vieler Algorithmen in der Praxis Übersicht: Zunächst eine kurze Einführung in Graphen. Dann
MehrWie wird ein Graph dargestellt?
Wie wird ein Graph dargestellt? Für einen Graphen G = (V, E), ob gerichtet oder ungerichtet, verwende eine Adjazenzliste A G : A G [i] zeigt auf eine Liste aller Nachbarn von Knoten i, wenn G ungerichtet
MehrAlgorithmen & Komplexität
Algorithmen & Komplexität Angelika Steger Institut für Theoretische Informatik steger@inf.ethz.ch Kürzeste Pfade Problem Gegeben Netzwerk: Graph G = (V, E), Gewichtsfunktion w: E N Zwei Knoten: s, t Kantenzug/Weg
MehrDatenstrukturen. Mariano Zelke. Sommersemester 2012
Datenstrukturen Mariano Zelke Sommersemester 2012 Tiefensuche: Die globale Struktur Der gerichtete oder ungerichtete Graph G werde durch seine Adjazenzliste A repräsentiert. Im Array besucht wird vermerkt,
MehrProgrammiertechnik II
Graph-Algorithmen Anwendungsgebiete "Verbundene Dinge" oft Teilproblem/Abstraktion einer Aufgabenstellung Karten: Wie ist der kürzeste Weg von Sanssouci nach Kunnersdorf? Hypertext: Welche Seiten sind
MehrProgrammiertechnik II
Graph-Algorithmen Anwendungsgebiete "Verbundene Dinge" oft Teilproblem/Abstraktion einer Aufgabenstellung Karten: Wie ist der kürzeste Weg von Sanssouci nach Kunnersdorf? Hypertext: Welche Seiten sind
MehrEffiziente Algorithmen
Effiziente Algorithmen Graphdurchläufe Vorlesender: Martin Aumüller (nach Folien von Prof. Martin Dietzfelbinger) April/Mai 0 FG KTuEA, TU Ilmenau Effiziente Algorithmen Sommersemester 0 Einleitung Kapitel
MehrInformatik II, SS 2014
Informatik II SS 2014 (Algorithmen & Datenstrukturen) Vorlesung 11 (4.6.2014) Binäre Suchbäume II Algorithmen und Komplexität Binäre Suchbäume Binäre Suchbäume müssen nicht immer so schön symmetrisch sein
MehrKapitel 5: Graphen und Graphalgorithmen
LUDWIG- MAXIMILIANS- UNIVERSITY MUNICH DEPARTMENT INSTITUTE FOR INFORMATICS DATABASE Algorithmen und Datenstrukturen Kapitel 5: Graphen und Graphalgorithmen Skript zur Vorlesung Algorithmen und Datenstrukturen
MehrKarlsruher Institut für Technologie Institut für Theoretische Informatik. Klausur Algorithmen I
Vorname: Matrikelnummer: Karlsruher Institut für Technologie Institut für Theoretische Informatik Prof. Jörn Müller-Quade 4. September 2017 Klausur Algorithmen I Aufgabe 1. Kleinaufgaben 15 Punkte Aufgabe
MehrLernmodul 7 Algorithmus von Dijkstra
Folie 1 von 30 Lernmodul 7 Algorithmus von Dijkstra Quelle: http://www.map24.de Folie 2 von 30 Algorithmus von Dijkstra Übersicht Kürzester Weg von A nach B in einem Graphen Problemstellung: Suche einer
Mehr2. November Gradfolgen Zusammenhang Kürzeste Wege. H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 37
2. November 2011 Gradfolgen Zusammenhang Kürzeste Wege H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 37 Satz von Erdős und Gallai Eine Partition einer natürlichen Zahl ist genau dann die Gradfolge
MehrAlgorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 2014 / 2015 Vorlesung 12, Donnerstag, 22.
Algorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 014 / 015 Vorlesung 1, Donnerstag,. Januar 015 (Graphen, Breiten/Tiefensuche, Zusammenhangskomponenten) Junior-Prof.
MehrKap. 3 Sortieren. 7. VO DAP2 SS Mai Vorlesung am Do 7.5. entfällt wegen FVV um 14 Uhr HeapSort ff 3.1.
Kap. 3 Sortieren 3.1.5 HeapSort ff 3.1.6 Priority Queues Vorlesung am Do 7.5. entfällt wegen FVV um 14 Uhr Professor Dr. Lehrstuhl für Algorithm Engineering, LS11 Fakultät für Informatik, TU Dortmund 7.
MehrInformatik II, SS 2016
Informatik II - SS 2016 (Algorithmen & Datenstrukturen) Vorlesung 10 (27.5.2016) Binäre Suchbäume II Algorithmen und Komplexität Zusätzliche Dictionary Operationen Dictionary: Zusätzliche mögliche Operationen:
MehrVorlesung 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?
MehrAlgorithmen und Datenstrukturen
1 Algorithmen und Datenstrukturen Wintersemester 2014/15 17. Vorlesung Graphen: Repräsentation und Durchlaufstrategien Prof. Dr. Alexander Wolff Lehrstuhl für Informatik I 2 Vorlesungsumfrage Nutzen Sie
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Prof. Martin Lercher Institut für Informatik Heinrich-Heine-Universität Düsseldorf Teil 9 Graphen Version vom 13. Dezember 2016 1 / 1 Vorlesung Fortsetzung 13. Dezember
MehrAlgorithmen und Datenstrukturen 2
Algorithmen und Datenstrukturen Lerneinheit : Kürzeste Pfade in Graphen Prof. Dr. Christoph Karg Studiengang Informatik Hochschule Aalen Sommersemester 016.6.01 Einleitung Diese Lerneinheit beschäftigt
Mehr1 DFS-Bäume in ungerichteten Graphen
Praktikum Algorithmen-Entwurf (Teil 3) 06.11.2006 1 1 DFS-Bäume in ungerichteten Graphen Sei ein ungerichteter, zusammenhängender Graph G = (V, E) gegeben. Sei ferner ein Startknoten s V ausgewählt. Startet
Mehr1 DFS-Bäume in ungerichteten Graphen
Praktikum Algorithmen-Entwurf (Teil 3) 31.10.2005 1 1 DFS-Bäume in ungerichteten Graphen Sei ein ungerichteter, zusammenhängender Graph G = (V, E) gegeben. Sei ferner ein Startknoten s V ausgewählt. Startet
MehrADS 2: Algorithmen und Datenstrukturen
ADS : Algorithmen und Datenstrukturen Teil Prof. Dr. Gerhard Heyer Institut für Informatik Abteilung Automatische Sprachverarbeitung Universität Leipzig 09. Mai 08 [Letzte Aktualisierung: 06/07/08, 08:4]
MehrADS 2: Algorithmen und Datenstrukturen
ADS : Algorithmen und Datenstrukturen Teil 4 Prof. Peter F. Stadler & Dr. Christian Höner zu Siederdissen Bioinformatik/IZBI Institut für Informatik & Interdisziplinäres Zentrum für Bioinformatik Universität
Mehr9. Ü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\ E) eines Graphen G = (V, E) besitzt die gleiche Knotenmenge V und hat als Kantenmenge alle Kanten des vollständigen Graphen ohne die Kantenmenge E.
Das Komplement Ḡ = (V, ( V ) \ E) eines Graphen G = (V, E) besitzt die gleiche Knotenmenge V und hat als Kantenmenge alle Kanten des vollständigen Graphen ohne die Kantenmenge E. Ein Graph H = (V, E )
MehrAlgorithmen & Datenstrukturen 2 Praktikum 3
Algorithmen & Datenstrukturen 2 Praktikum 3 Thema: Graphalgorithmen Sommersemester 2016 Prof. Dr. Christoph Karg Hochschule Aalen Dieses Praktikum widmet sich dem Thema Graphalgorithmen. Ziel ist die Implementierung
MehrAlgorithmen und Datenstrukturen Übung #4 BFS/DFS, Wachstum von Funktionen
Platzhalter für Bild, Bild auf Titelfolie hinter das Logo einsetzen Algorithmen und Datenstrukturen Übung #4 BFS/DFS, Wachstum von Funktionen Christian Rieck, Arne Schmidt 22.11.2018 Heute 12 Breiten-
MehrGraphentheorie. Yichuan Shen. 10. Oktober 2013
Graphentheorie Yichuan Shen 0. Oktober 203 Was ist ein Graph? Ein Graph ist eine kombinatorische Struktur, die bei der Modellierung zahlreicher Probleme Verwendung findet. Er besteht ganz allgemein aus
MehrADS: Algorithmen und Datenstrukturen 2
ADS: Algorithmen und Datenstrukturen 2 Teil 4 Prof. Dr. Gerhard Heyer Institut für Informatik Abteilung Automatische Sprachverarbeitung Universität Leipzig 02. Mai 2017 [Letzte Aktualisierung: 10/07/2018,
MehrTeil 2: Graphenalgorithmen
Teil 2: Graphenalgorithmen Anwendungen Definitionen Datenstrukturen für Graphen Elementare Algorithmen Topologisches Sortieren Kürzeste Wege Minimal aufspannende Bäume Flüsse in Netzwerken Zusammenhangskomponenten
MehrEinführung in die Informatik 2
Einführung in die Informatik 2 Bäume & Graphen Sven Kosub AG Algorithmik/Theorie komplexer Systeme Universität Konstanz E 202 Sven.Kosub@uni-konstanz.de Sprechstunde: Freitag, 12:30-14:00 Uhr, o.n.v. Sommersemester
MehrDatenstrukturen und Algorithmen (SS 2013)
Datenstrukturen und Algorithmen (SS 2013) Übungsblatt 10 Abgabe: Montag, 08.07.2013, 14:00 Uhr Die Übungen sollen in Gruppen von zwei bis drei Personen bearbeitet werden. Schreiben Sie die Namen jedes
MehrGraphen. Definitionen
Graphen Graphen werden häufig als Modell für das Lösen eines Problems aus der Praxis verwendet, wie wir im Kapitel 1 gesehen haben. Der Schweizer Mathematiker Euler hat als erster Graphen verwendet, um
MehrVorlesung Datenstrukturen
Vorlesung Datenstrukturen Kürzeste Wege Maike Buchin 4. und 6.7.2017 Einführung Motivation: Bestimmung von kürzesten Wegen ist in vielen Anwendungen, z.b. Routenplanung, ein wichtiges Problem. Allgemeine
MehrInformatik B Sommersemester Musterlösung zur Klausur am
Informatik B Sommersemester 01 Musterlösung zur Klausur am 1.0.01 Leider wurde der Hinweis, dass alle Lösungen kurz (stichpunktartig), aber inhaltlich ausreichend zu kommentieren sind, nicht immer beachtet.
MehrDatenstrukturen und Algorithmen 2. Klausur SS 2001
UNIVERSITÄT PADERBORN FACHBEREICH 7 (MATHEMATIK INFORMATIK) Datenstrukturen und Algorithmen 2. Klausur SS 200 Lösungsansätze Dienstag, 8. September 200 Name, Vorname:...................................................
MehrAlgorithmen & Komplexität
Algorithmen & Komplexität Angelika Steger Institut für Theoretische Informatik steger@inf.ethz.ch Breitensuche, Tiefensuche Wir besprechen nun zwei grundlegende Verfahren, alle Knoten eines Graphen zu
MehrProgrammierkurs Python
Programmierkurs Python Stefan Thater Michaela Regneri 2010-0-29 Heute Ein wenig Graph-Theorie (in aller Kürze) Datenstrukturen für Graphen Tiefen- und Breitensuche Nächste Woche: mehr Algorithmen 2 Was
MehrProgrammierkurs Python II
Programmierkurs Python II Stefan Thater & Michaela Regneri FR.7 Allgemeine Linguistik (Computerlinguistik) Universität des Saarlandes Sommersemester 011 Heute Ein wenig Graph-Theorie (in aller Kürze) Datenstrukturen
MehrMatchings in Graphen. Praktikum Diskrete Optimierung (Teil 5)
Praktikum Diskrete Optimierung (Teil 5) 6.05.009 Matchings in Graphen Es sei ein ungerichteter Graph G = (V, E) gegeben. Ein Matching in G ist eine Teilmenge M E, so dass keine zwei Kanten aus M einen
MehrÜbung Algorithmen und Datenstrukturen
Übung Algorithmen und Datenstrukturen Sommersemester 16 Patrick Schäfer, Humboldt-Universität zu Berlin Agenda 1. Fragen zum zweiten Übungsblatt? 2. Vorbesprechung des dritten Übungsblatts 3. Beispielaufgaben
MehrAlgorithmen I. Prof. Jörn Müller-Quade Institut für Theoretische Informatik Web: https://crypto.iti.kit.edu/index.php?
Algorithmen I Prof. Jörn Müller-Quade 19.06.2017 Institut für Theoretische Informatik Web: https://crypto.iti.kit.edu/index.php?id=799 (Folien von Peter Sanders) KIT Institut für Theoretische Informatik
MehrADS 2: Algorithmen und Datenstrukturen
ADS : Algorithmen und Datenstrukturen Teil Prof. Peter F. Stadler & Dr. Christian Höner zu Siederdissen Bioinformatik/IZBI Institut für Informatik & Interdisziplinäres Zentrum für Bioinformatik Universität
MehrLösungsvorschlag Hausübung 8
Lösungsvorschlag Hausübung 8 Peter Kling 16. Juli 2007 Aufgabe 27 Betrachten Sie den Algorithmus Heapsort (vgl. Alg. 1) aus der Vorlesung. Illustrieren Sie die Arbeitsweise von Heapsort am Beispiel des
MehrSeien u, v V, u v. Da G zusammenhängend ist, muss mindestens ein Pfad zwischen u und v existieren.
Beweis: 1. 2. Seien u, v V, u v. Da G zusammenhängend ist, muss mindestens ein Pfad zwischen u und v existieren. Widerspruchsannahme: Es gibt zwei verschiedene Pfade zwischen u und v. Dann gibt es einen
Mehr23. Graphen. Königsberg Zyklen. [Multi]Graph
Königsberg 76. Graphen, Repräsentation, Reflexive transitive Hülle, Traversieren (DFS, BFS), Zusammenhangskomponenten, Topologisches Sortieren Ottman/Widmayer, Kap. 9. - 9.,Cormen et al, Kap. 60 60 [Multi]Graph
MehrMi, 21. Mai, ab 12:30 Uhr, in E23 (OH14) Dann ab 14:30 Uhr: Motivation: Gegeben: hier: später: Aufgabe:
Kap. 4: Suchen in Datenmengen Professor Dr. Lehrstuhl für Algorithm Engineering, LS Fakultät für Informatik, TU Dortmund 0. VO DAP2 SS 2008 5. Mai 2008 Ankündigung Mentoring Mi, 2. Mai, ab 2:30 Uhr, in
Mehr