1. Übung Algorithmentechnik

Größe: px
Ab Seite anzeigen:

Download "1. Übung Algorithmentechnik"

Transkript

1 1. Übung Algorithmentechnik Institut für Theoretische Informatik / 42

2 Aufgabe 1 Aufgabe (Amortisierte Analyse) Modellieren Sie eine Queue mit zwei Stacks so, dass die amortisierten Kosten von Dequeue und Enqeue jeweils in O(1) sind. Geben Sie die Operationen Dequeue und Enqueue in Pseudocode an und begründen Sie die amortisierten Kosten. 2/ 42

3 Aufgabe 1 globale Datenstruktur: zwei Stacks E und D, die initial leer sind E wird für Enqueue benutzt D wird für Dequeue benutzt betrachten Folge von n Enqueue- und Dequeue-Operationen für Analyse 3/ 42

4 1 Algorithmus 1 : Enqueue(x) Push(E,x) Aufwand 1 = O(1) Aufgabe 1 O(1) Algorithmus 2 : Dequeue() wenn D = dann solange E tue Push(D,Pop(E)) pop(d) Aufwand 1 bzw. 2 E + 1 = O( E ) O(1) 4/ 42

5 Korrektheit betrachte Folge von Insert und Dequeue x 1 x 2 x k D 1 x k+1 x r D k zu Beginn seien D, E leer vor D 1 liegen x 1 x 2 x k in umgekehrter Reihenfolge des Einfügens auf E nach D 1 ist E leer und auf D liegen x k x 1 in Reihenfolge des Einfügens D 1,..., D k entfernen jeweils x 1,..., x k in der Reihenfolge des Einfügens d.h. D i entfernt x i vor D k+1 liegen x k+1 x s auf E und D ist leer nach D k+1 liegen x s x k+1 auf D und D k+1,..., D s entfernen jeweils x k+1,..., x s... 5/ 42

6 Ganzheitsmethode wenn Dequeue Aufwand von E verursacht, dann müssen vorher E Enqueue-Operationen stattgefunden haben Gesamtaufwand für Dequeue-Operationen ist höchstens so groß wie Gesamtaufwand für Enqueue-Operationen, d.h. O(n) Gesamtaufwand T (n) = O(n) Aufwand pro Operation T (n)/n = O(1) 6/ 42

7 Buchungsmethode definieren Kosten wie folgt tatsächliche Kosten amortisierte Kosten Enqueue 1 3 Dequeue 1, E 1 Idee: beim Einfügen bezahlt jedes Element das Einfügen in E sofort und hinterlegt Kredit von 2 für Hinzufügen zu D (1 Pop, 1 Push) amortisierte Kosten in O(1) 7/ 42

8 Potentialmethode sei D i Datenstruktur nach i-ter Operation, Datenstruktur sei zu Beginn leer definiere Potential Φ : D i Φ(D i ) := 2 E Φ(D O ) = 0, Φ(D i ) Φ(D 0 ) im Folgenden ĉ i : amortisierte Kosten, c i reale Kosten der i-ten Operation dann gilt ĉ i := c i + Φ(D i ) Φ(D i 1 ) 8/ 42

9 Potentialmethode i-te Operation ist Enqueue mit E := k: ĉ i = c i + Φ(D i ) Φ(D i 1 ) = 1 + 2(k + 1) 2k = 3 i-te Operation ist Dequeue mit D > 0, E := k: ĉ i = c i + Φ(D i ) Φ(D i 1 ) = 1 + 2k 2k = 1 i-te Operation ist Dequeue mit D = 0, E := k: ĉ i = c i + Φ(D i ) Φ(D i 1 ) = 2k k = 1 9/ 42

10 Aufgabe 2 Aufgabe (Untere Schranken) Gegeben sei eine Folge (a i ) n i=1 von n Elementen. Zeigen Sie, dass man mindestens Ω(log n) Vergleiche benötigt, um den Index i max des maximalen Elementes a imax bestimmen. zu 10/ 42

11 Problemstellung sei Π ein Problem Untere Schranken finde eine Funktion l : N N (untere Schranke für Π) mit folgender Eigenschaft: jeder Algorithmus A, der Π löst, hat eine worst-case Komplexität T A (n) Ω(l(n)), d.h. kein Algorithmus mit Komplexität T A (n) o(l(n)) Problem: Aussage über alle Algorithmen schwierig Festlegung eines Algorithmen-Modells durch sog. Entscheidungsbäume Komplexitätsmaß ist Anzahl der Entscheidungen 11/ 42

12 Entscheidungsbäume als Algorithmen-Modell Algorithmus als Baum mit konstantem Maximalgrad nicht-uniformes Modell, d.h. unterschiedliche Bäume für Instanzen unterschiedlicher Größe Knoten ist Orakel, das zu jeder Instanz einen Kindknoten ausgibt Blätter sind mit Ausgabe des Algorithmus annotiert Berechnung: Weg von der Wurzel zu einem Blatt (gemäß Orakelspruch ) Komplexität einer Berechnung: Länge des Weges Komplexität des Algorithmus: Höhe des Baumes 12/ 42

13 Entscheidungsbäume als Algorithmen-Modell 13/ 42

14 Entscheidungsbäume als Algorithmen-Modell sei h Höhe des Baumes und n die Anzahl der Blätter und k Maximalgrad dann gilt n k h, d.h. h log k n Annahme: Algorithmus A habe n verschiedene Ausgaben Baum hat mind. n Blätter Höhe des Baumes ist mind. log k n Informationstheoretische Begründung: benutze Weg, um Ausgabe zu kodieren: Bei Höhe h und Maximalgrad k kann es höchstens n = k h verschiedene Ausgaben (Blätter) geben log k n ist (triviale) untere Schranke 14/ 42

15 Erster Ansatz Algorithmus für das Maximum-Problem hat n verschiedene Ausgaben log 2 n ist untere Schranke, falls nur Vergleiche zugelassen sind diese Schranke ist scharf! verwende binären Suchbaum als Algorithmus imax < n/2 imax < n/4 imax < 3n/4 imax < n/8 imax < 3n/8 imax < 5n/8 imax < 7n/8 15/ 42

16 Anderer Ansatz Problem mit erstem Ansatz: ein Algorithmus, der Index des maximalen Elements nicht kennt, kann Orakelfrage nicht beantworten Modell ist zu mächtig Einschränkung: Jede Anfrage muss von der Form x i < x j sein sei T Entscheidungsbaum in diesem Modell für das Maximum-Problem mit n Elementen wir konstruieren Eingabe, bei der der Algorithmus möglichst viele Vergleiche anstellen muss (Adversary-Argument) 16/ 42

17 Adversary Argument zunächst nehmen wir an, dass x i = i für alle i falls Algorithmus Anfrage x i < x j stellt, markieren wir x i Markierung bedeutet: Algorithmus weiß, dass x i nicht das maximale Element ist x n wird nicht markiert (da es das größte Element ist) Annahme: x k (k n) werde ebenfalls nicht markiert (d.h. Algorithmus macht weniger als n 1 Vergleiche) Algorithmus kann nicht unterscheiden, ob x k oder x n Maximum ist bei Ausgabe x n wählen wir x k := n + 1 sonst belassen wir die Folge (konsistent mit Anfragen) mindestens n 1 Vergleiche nötig 17/ 42

18 Aufgabe 3 Aufgabe (Laufzeit rekursiver Funktionen) Bestimmen Sie den größten ganzzahligen Wert a mit der Eigenschaft, dass ein Algorithmus mit der durch T B (n) = a T B (n/4) + n 2 bestimmten Laufzeit im Θ-Kalkül asymptotisch schneller ist, als ein Algorithmus mit der durch bestimmten Laufzeit. T A (n) = 7 T A (n/2) + n 2 18/ 42

19 Theorem (Master-Theorem) Master-Theorem Seien a 1 und b > 1 Konstanten, f (n) eine Funktion in n und T (n) über nichtnegative ganze Zahlen definiert durch dann gelten T (n) = a T (n/b) + f (n), a (i) T (n) Θ(f (n)) falls f (n) Ω(n log b a+ε ) und af ( n b ) cf (n) für eine Konstante c < 1 und n n 0, (ii) T (n) Θ(n log b a log n) falls f (n) Θ(n log b a ), (iii) T (n) Θ(n log b a ) falls f (n) O(n log b a ε ). a Dabei stehen n/b für n/b oder n/b. 19/ 42

20 Aufgabe 4 Aufgabe (Das Tiefen-Bestimmungs-Problem) Entwerfen Sie eine Datenstruktur, die eine Menge F von disjunkten Bäumen verwaltet und folgende Operationen unterstützt. Make-Tree(v): erzeuge neuen Baum mit Wurzel v Attach(r, v): hänge Baum mit Wurzel r an Knoten v an Find-Depth(v): bestimme Tiefe von v 20/ 42

21 Makeset 1 Algorithmus 3 : Makeset(x) (#2) Eingabe : Element x Vor[x] 1 Die Laufzeit ist in O(1). 21/ 42

22 Weighted Union Algorithmus 4 : Union(i, j) (#3) z Vor[i] + Vor[j] wenn Vor[i] < Vor[j] dann Vor[i] j und Vor[j] z sonst Vor[j] i und Vor[i] z Die Laufzeit ist in O(1). 22/ 42

23 Find mit Pfadkompression Algorithmus 5 : Find(x) (#3) Eingabe : Element x Ausgabe : Menge, in der x enthalten ist j x solange Vor[j] > 0 tue j Vor[j] i x solange Vor[i] > 0 tue temp i i Vor[i] Vor[temp] j Gib j aus Die Laufzeit ist in O(log n). Repräsentanten-Suche Pfadkompression 23/ 42

24 Modifikation von Union-Find Modifikation zur Verwaltung der Tiefe (Struktur der Bäume muss nicht durch Union-Find verwaltet werden) Annotation der Knoten mit Wert d(v), der folgende Eigenschaft hat sei v k := Find(v 0 ) sei v 0, v 1, v 2,..., v k die Folge von Knoten, die Find(v 0 ) von v 0 zur Wurzel v k durchläuft dann soll gelten: Tiefe von v 0 ergibt sich als k i=0 d(v i) d(v i ) ist also Differenz zwischen Tiefe von v i und v i+1 (direkter Vorgänger) 24/ 42

25 Korrektheit es gilt d(v i ) := Find-Depth(v i ) Find-Depth(v i+1 ) (i < k) d(v k ) := Find-Depth(v k ) Summe ist Teleskop-Summe, d.h. k d(v i ) = Find-Depth(v 0 ) i=0 stelle sicher, dass obige Gleichungen immer erfüllt sind 25/ 42

26 Makeset 1 2 Algorithmus 6 : Make-Tree(x) Eingabe : Knoten x Ausgabe : Neuer Baum mit Wurzel x d[x] 0 Vor[x] 1 Korrektheit ist klar. 26/ 42

27 Algorithmus 7 : Find(x) Eingabe : Knoten x Ausgabe : Das Paar (Depth, r) (Tiefe und Wurzel von x) r x Repräsentanten-Suche Depth d[x] solange Vor[r] > 0 tue r Vor[r] Depth Depth + d[r] i x PDepth 0 solange Vor[i] > 0 tue t d[i] d[i] Depth PDepth d[r] PDepth PDepth + t temp i i Vor[i] Vor[temp] r Pfadkompression 27/ 42

28 Korrektheit sei v 0,..., v k Folge, die Find durchläuft, d.h. x = v 0 Zeile 9/10 d[v i ] Depth PDepth d[r] Depth=Find-Depth(x) und hat Wert k s=0 d alt[s] PDepth hat Wert i 1 s=0 d alt[s] im i-ten Schritt d neu [v i ] = k d alt [s] d alt [r] s=i = Find-Depth(v i ) d alt [r] = Find-Depth(v i ) Find-Depth(r) 28/ 42

29 Algorithmus 8 : Attach(r, x) (modifiziertes Union) Eingabe : Wurzel r eines Baumes und ein Knoten x Ausgabe : Der Knoten r wird an x angehängt (d x, q x ) Find(x) (d r, q r ) Find(r) z Vor[q x ] + Vor[q r ] wenn Vor[q r ] < Vor[q x ] dann q x wird Wurzel Vor[q r ] q x und Vor[q x ] z d(q r ) d(q r ) + d x + 1 d(q x ) sonst q r wird Wurzel Vor[q x ] q r und Vor[q r ] z d(q r ) d(q r ) + d x + 1 d(q x ) d(q x ) d(q r ) 29/ 42

30 Korrektheit q x q x wird Wurzel q r x r d(q r ) d(q r ) + d x + 1 d(q x ) 30/ 42

31 Korrektheit q x q x wird Wurzel q r wird Wurzel q r q r q x x r r x d(q r ) d(q r ) + d x + 1 d(q x ) d(q r ) d(q r ) + d x + 1 d(q x ) d(q x ) d(q r ) 30/ 42

32 1 2 Algorithmus 9 : Find-Depth(x) Eingabe : Knoten x Ausgabe : Die Tiefe Depth(x) von x (d, r) Find(i) Depth(x) d 31/ 42

33 Aufgabe 5 Aufgabe (Berechnung starker Zusammenhangskomponenten) Gegeben sei ein gerichteter Graph D = (V, E). für u, v V gelte u v, wenn es einen gerichteten Weg von u nach v und einen gerichteten Weg von v nach u gibt Zeigen Sie, dass eine Äquivalenzrelation ist. Die Äquivalenzklassen zu heißen starke Zusammenhangskomponenten. Schreiben Sie einen Algorithmus in Pseudocode, der die starken Zusammenhangskomponenten findet. 32/ 42

34 Äquivalenzrelation Reflexivität: u u, da Weg der Länge 0 existiert Symmetrie: u v v u, nach Definition Transitivität: u v, v w u w: da Weg von u über v nach w und umgekehrt existiert Bemerkung: u w gdw. u und v liegen auf einem gerichteten Kreis 33/ 42

35 Tiefensuche Algorithmus 10 : DFS(G=(V,E)) für v V tue π(w) Nil Color[v] White für v V tue wenn Color[v] = White dann DFS-Visit(v) 34/ 42

36 Algorithmus 11 : DFS-Visit(v, S) Color[v] Gray für (v, w) E tue wenn Color[w] = White dann π(w) v Mod-DFS-Visit(w, S) neuer Knoten 6 Color[v] Black 35/ 42

37 Ineffizienter Algorithmus Algorithmus 12 : Starke-Zusammenhangskomponenten-1 für v V tue Makeset(v) für {v, w} 2 V tue wenn Find(v) Find(w) dann Dfs-Visit(v) Dfs-Visit(w) wenn w Dfs-Visit(v) und v Dfs-Visit(w) dann Union(Find(v), Find(w)) Aufwand O(n 3 )! 36/ 42

38 modifizierte Tiefensuche Vorgehensweise verwalte Mengen von äquivalenten Knoten mit Union-Find falls Tiefensuche Kreis findet, können alle Knoten auf dem Kreis kontrahiert werden verwenden Stack S für Repräsentanten von Mengen äquivalenter Knoten mit der Eigenschaft, dass einer der Knoten auf dem aktuell offenen Pfad der Tiefensuche liegt 37/ 42

39 modifizierte Tiefensuche Algorithmus 13 : Starke-Zusammenhangskomponenten Daten : Stack S für v V tue Makeset(v) π(w) Nil Color[Find(v)] White für v V tue wenn Color[Find(v)] = White dann Mod-DFS-Visit(v) 38/ 42

40 Algorithmus 14 : Mod-DFS-Visit(v, S) Color[Find(v)] Gray wenn Find(v) Find(Peek(S)) dann Push(S, v) für (v, w) E tue wenn Color[Find(w)] = White dann π(w) v Mod-DFS-Visit(w, S) sonst wenn Color[Find(w)] = Gray dann Kontrahiere-Kreis(w, S) neuer Knoten Kreis gefunden wenn Find(π(v)) Find(Peek(S)) dann Color[Find(v)] Black Pop(S) Stack aufräumen 39/ 42

41 Algorithmus 15 : Kontrahiere-Kreis(w, S) x Pop(S) solange Find(w) Find(x) tue Union(Find(w), Find(x)) x Pop(S) Color[Find(w)] Grey Push(S, w) 40/ 42

42 Beispiel {1} Stack 41/ 42

43 Beispiel {4} {1} Stack 41/ 42

44 Beispiel {2} {4} {1} Stack 41/ 42

45 Beispiel {3} {2} {4} {1} Stack 41/ 42

46 Beispiel {3} {2} {4} {1} {1, 2, 4} Stack 41/ 42

47 Beispiel {3} {2} {4} {1} {1, 2, 4} Stack 41/ 42

48 Beispiel {3} {2} {4} {5} {1} {1, 2, 4} Stack 41/ 42

49 Beispiel {3} {2} {4} {5} {1} {1, 2, 4} 4, 5} Stack 41/ 42

50 Beispiel {3} {2} {4} {5} {6} {1} {1, 2, 4} 4, 5} Stack 41/ 42

51 Beispiel {3} {2} {4} {5} {6} {1} {1, 2, 4} 4, 5} 5, 6} Stack 41/ 42

52 Beispiel {3} {2} {4} {5} {6} {1} {1, 2, 4} 4, 5} 5, 6} Stack 41/ 42

53 Korrektheit Algorithmus durchläuft Graph mit Tiefensuche sei v 1,..., v k der aktuelle Tiefensuche-Pfad Stackinhalt: w 1,..., w k mit Find(v i ) = Find(w i ) d.h. Stack enthält zu jedem Zeitpunkt für jeden Knoten v auf dem aktuell offenen Pfad den Repräsentanten einer Menge, die v enthält sei C gerichteter Kreis in G die Knoten auf C werden zu einer Menge zusammengefasst Menge wird erst schwarz gefärbt, wenn alle Knoten in der Menge abgesucht wurden 42/ 42

Lösungsvorschlag 1. Vorlesung Algorithmentechnik im WS 09/10

Lösungsvorschlag 1. Vorlesung Algorithmentechnik im WS 09/10 Institut für Theoretische Informatik Lehrstuhl Prof. Dr. D. Wagner Lösungsvorschlag Vorlesung Algorithmentechnik im WS 09/0 Problem : Dynamisches Array (Amortisierte Analyse) [vgl. Kapitel 0.3 im Skript]

Mehr

15. Elementare Graphalgorithmen

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

Mehr

2. Musterlösung. Problem 1: Das Postamtplatzierungsproblem ** = min w i ( x p x i ) + w i ( y p y i ) i=1. w i + w m w i. 0 wegen (3) w m+1 m,m+1

2. Musterlösung. Problem 1: Das Postamtplatzierungsproblem ** = min w i ( x p x i ) + w i ( y p y i ) i=1. w i + w m w i. 0 wegen (3) w m+1 m,m+1 Universität Karlsruhe Algorithmentechnik Fakultät für Informatik WS 05/06 ITI Wagner 2. Musterlösung Problem 1: Das Postamtplatzierungsproblem ** Sei OE x 1 x 2 x n. Gesucht ist ein Punkt p = (x, y) mit

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Universität Innsbruck Institut für Informatik Zweite Prüfung 16. Oktober 2008 Algorithmen und Datenstrukturen Name: Matrikelnr: Die Prüfung besteht aus 8 Aufgaben. Die verfügbaren Punkte für jede Aufgabe

Mehr

Algorithmen & Komplexität

Algorithmen & Komplexität Algorithmen & Komplexität Angelika Steger Institut für Theoretische Informatik [email protected] Breitensuche, Tiefensuche Wir besprechen nun zwei grundlegende Verfahren, alle Knoten eines Graphen zu

Mehr

Relationen und DAGs, starker Zusammenhang

Relationen und DAGs, starker Zusammenhang Relationen und DAGs, starker Zusammenhang Anmerkung: Sei D = (V, E). Dann ist A V V eine Relation auf V. Sei andererseits R S S eine Relation auf S. Dann definiert D = (S, R) einen DAG. D.h. DAGs sind

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen Wintersemester 202/3 24. Vorlesung Amortisierte Analyse Prof. Dr. Alexander Wolff Lehrstuhl für Informatik I Hash-Tabellen Frage: Ziel: Problem: Lösung: Wie groß macht man

Mehr

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

(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,

Mehr

ContainerDatenstrukturen. Große Übung 4

ContainerDatenstrukturen. Große Übung 4 ContainerDatenstrukturen Große Übung 4 Aufgabenstellung Verwalte Kollektion S von n Objekten Grundaufgaben: Iterieren/Auflistung Suche nach Objekt x mit Wert/Schlüssel k Füge ein Objekt x hinzu Entferne

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

10. Übungsblatt zu Algorithmen I im SS 2010

10. Ü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

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen 1 Algorithmen und Datenstrukturen Wintersemester 2016/17 13. Vorlesung Binäre Suchbäume Prof. Dr. Alexander Wolff Lehrstuhl für Informatik I 2 Dynamische Menge verwaltet Elemente einer sich ändernden Menge

Mehr

NAME, VORNAME: Studiennummer: Matrikel:

NAME, VORNAME: Studiennummer: Matrikel: TU Ilmenau, Fakultat IA Institut für Theoretische Informatik FG Komplexitätstheorie und Effiziente Algorithmen Prof. Dr. (USA) M. Dietzfelbinger Klausur Algorithmen und Datenstrukturen SS08, Ing.-Inf.

Mehr

Informatik II: Algorithmen & Datenstrukturen. Blättern Sie nicht um bevor Sie dazu aufgefordert werden!

Informatik II: Algorithmen & Datenstrukturen. Blättern Sie nicht um bevor Sie dazu aufgefordert werden! Albert-Ludwigs-Universität Institut für Informatik Prof. Dr. F. Kuhn Informatik II: Algorithmen & Datenstrukturen Montag, 29. August, 2014, 14:00 17:00 Name:...........................................................

Mehr

Klausur Theoretische Informatik I WS 2004/2005

Klausur Theoretische Informatik I WS 2004/2005 Technische Universität Chemnitz Chemnitz, den 22.02.2005 Fakultät für Informatik Prof. Dr. Andreas Goerdt Klausur Theoretische Informatik I WS 2004/2005 Studiengang Mechatronik Aufgabe 1 (2+2+2 Punkte)

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

a) Fügen Sie die Zahlen 39, 38, 37 und 36 in folgenden (2, 3)-Baum ein:

a) Fügen Sie die Zahlen 39, 38, 37 und 36 in folgenden (2, 3)-Baum ein: 1 Aufgabe 8.1 (P) (2, 3)-Baum a) Fügen Sie die Zahlen 39, 38, 37 und 36 in folgenden (2, 3)-Baum ein: Zeichnen Sie, was in jedem Schritt passiert. b) Löschen Sie die Zahlen 65, 70 und 100 aus folgendem

Mehr

Grundlagen: Algorithmen und Datenstrukturen

Grundlagen: Algorithmen und Datenstrukturen Grundlagen: Algorithmen und Datenstrukturen Prof. Dr. Hanjo Täubig Lehrstuhl für Effiziente Algorithmen (Prof. Dr. Ernst W. Mayr) Institut für Informatik Technische Universität München Sommersemester 00

Mehr

Alle bislang betrachteten Sortieralgorithmen hatten (worst-case) Laufzeit Ω(nlog(n)).

Alle bislang betrachteten Sortieralgorithmen hatten (worst-case) Laufzeit Ω(nlog(n)). 8. Untere Schranken für Sortieren Alle bislang betrachteten Sortieralgorithmen hatten (worst-case) Laufzeit Ω(nlog(n)). Werden nun gemeinsame Eigenschaften dieser Algorithmen untersuchen. Fassen gemeinsame

Mehr

Ferienkurs zur algorithmischen diskreten Mathematik Kapitel 1: Grundlagen der algorithmischen Graphentheorie

Ferienkurs 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

Mehr

Klausur Algorithmen und Datenstrukturen

Klausur Algorithmen und Datenstrukturen Technische Universität Braunschweig Wintersemester 2013/2014 Institut für Betriebssysteme und Rechnerverbund Abteilung Algorithmik Prof. Dr. Sándor P. Fekete Stephan Friedrichs Klausur Algorithmen und

Mehr

Algorithm Engineering. Amortisierung. Stefan Edelkamp

Algorithm Engineering. Amortisierung. Stefan Edelkamp Algorithm Engineering Amortisierung Stefan Edelkamp Analyse von Algorithmen Best Case Worst Case Average Case Amortisierte Worst Case Was sind die durchschnittlichen Kosten einer schlechtest möglichen

Mehr

Datenstrukturen & Algorithmen Lösungen zu Blatt 5 FS 14

Datenstrukturen & Algorithmen Lösungen zu Blatt 5 FS 14 Eidgenössische Technische Hochschule Zürich Ecole polytechnique fédérale de Zurich Politecnico federale di Zurigo Federal Institute of Technology at Zurich Institut für Theoretische Informatik 26. März

Mehr

Datenstrukturen & Algorithmen Lösungen zu Blatt 4 FS 15

Datenstrukturen & Algorithmen Lösungen zu Blatt 4 FS 15 Eidgenössische Technische Hochschule Zürich Ecole polytechnique fédérale de Zurich Politecnico federale di Zurigo Federal Institute of Technology at Zurich Institut für Theoretische Informatik 18. März

Mehr

Amortisierte Analyse

Amortisierte Analyse Amortisierte Analyse Amortisierung Betrachte eine Folge a 1, a 2,..., a n von n Operation auf Datenstruktur D T i = Ausführungszeit von a i T = T 1 + T 2 +... + T n, Gesamtlaufzeit Oft kann die Laufzeit

Mehr

Algorithmen und Datenstrukturen

Algorithmen 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 /

Mehr

Übungen zur Vorlesung Datenstrukturen und Algorithmen SS 2006 Blatt 13

Übungen zur Vorlesung Datenstrukturen und Algorithmen SS 2006 Blatt 13 Übungen zur Vorlesung Datenstrukturen und Algorithmen SS 2006 Blatt 13 Sven Grothklags University of Paderborn 10. Juli 2006 Sven Grothklags (University of Paderborn) DuA Übungsblatt 13 10. Juli 2006 1

Mehr

Algorithmen und Datenstrukturen Tutorium Übungsaufgaben

Algorithmen und Datenstrukturen Tutorium Übungsaufgaben Algorithmen und Datenstrukturen Tutorium Übungsaufgaben AlgoDat - Übungsaufgaben 1 1 Landau-Notation Aufgabe Lösung 2 Rekurrenzen Aufgabe 3 Algorithmenentwurf und -analyse Aufgabe AlgoDat - Übungsaufgaben

Mehr

Das Suchproblem. Gegeben Menge von Datensätzen. Beispiele Telefonverzeichnis, Wörterbuch, Symboltabelle

Das Suchproblem. Gegeben Menge von Datensätzen. Beispiele Telefonverzeichnis, Wörterbuch, Symboltabelle 122 4. Suchen Lineare Suche, Binäre Suche, Interpolationssuche, Untere Schranken [Ottman/Widmayer, Kap. 3.2, Cormen et al, Kap. 2: Problems 2.1-3,2.2-3,2.3-5] 123 Das Suchproblem Gegeben Menge von Datensätzen.

Mehr

Übungsblatt 2 - Lösung

Übungsblatt 2 - Lösung Institut für Theoretische Informatik Lehrstuhl Prof. Dr. D. Wagner Übungsblatt 2 - Lösung Vorlesung Algorithmentechnik im WS 08/09 Ausgabe 04. November 2008 Abgabe 8. November, 5:0 Uhr (im Kasten vor Zimmer

Mehr

Algorithmen I. Tutorium 1-3. Sitzung. Dennis Felsing

Algorithmen I. Tutorium 1-3. Sitzung. Dennis Felsing Algorithmen I Tutorium 1-3. Sitzung Dennis Felsing [email protected] www.stud.uni-karlsruhe.de/~ubcqr/algo 2011-05-02 Überblick 1 Sortieren und Suchen 2 Mastertheorem 3 Datenstrukturen 4 Kreativaufgabe

Mehr

Algorithmen & Datenstrukturen Lösungen zu Blatt 9 HS 16

Algorithmen & Datenstrukturen Lösungen zu Blatt 9 HS 16 Eidgenössische Technische Hochschule Zürich Ecole polytechnique fédérale de Zurich Politecnico federale di Zurigo Federal Institute of Technology at Zurich Departement Informatik 24. November 2016 Markus

Mehr

2. Klausur zur Vorlesung Algorithmentechnik Wintersemester 2005/ April 2006

2. Klausur zur Vorlesung Algorithmentechnik Wintersemester 2005/ April 2006 2. Klausur zur Vorlesung Algorithmentechnik Wintersemester 2005/2006 18. April 2006 Lösung! Aufgabe 1 2 3 4 5 6 7 8 9 10 a 3 4 1 1 5 1 4 2 3 b 5 1 3 3 3 3 c 1 2 3 8 4 3 6 5 7 7 5 3 12 60 a b c Name: Matrikelnr.:

Mehr

Abstrakter Datentyp (ADT): Besteht aus einer Menge von Objekten, sowie Operationen, die auf diesen Objekten wirken.

Abstrakter Datentyp (ADT): Besteht aus einer Menge von Objekten, sowie Operationen, die auf diesen Objekten wirken. Abstrakte Datentypen und Datenstrukturen/ Einfache Beispiele Abstrakter Datentyp (ADT): Besteht aus einer Menge von Objekten, sowie Operationen, die auf diesen Objekten wirken. Datenstruktur (DS): Realisierung

Mehr

Voronoi-Diagramme. Dr. Martin Nöllenburg Vorlesung Algorithmische Geometrie INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK

Voronoi-Diagramme. Dr. Martin Nöllenburg Vorlesung Algorithmische Geometrie INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Vorlesung Algorithmische Geometrie INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 29.05.2011 Das Postamt-Problem b(p, q) = {x R 2 : xp = xq } p q h(p, q) h(q, p) = {x :

Mehr

Klausur Algorithmen und Datenstrukturen

Klausur Algorithmen und Datenstrukturen Technische Universität Braunschweig Sommersemester 2013 IBR - Abteilung Algorithmik Prof. Dr. Sándor Fekete Dr. Christiane Schmidt Stephan Friedrichs Klausur Algorithmen und Datenstrukturen 22.08.2013

Mehr

Datenstrukturen & Algorithmen Lösungen zu Blatt 6 FS 14

Datenstrukturen & Algorithmen Lösungen zu Blatt 6 FS 14 Eidgenössische Technische Hochschule Zürich Ecole polytechnique fédérale de Zurich Politecnico federale di Zurigo Federal Institute of Technology at Zurich Institut für Theoretische Informatik 2. April

Mehr

Praktikum 3 Algorithmik SS Aufgabe 10: Aufgabe 9 ( Skyline-Problem ) weitere Aufgaben folgen. Name:... Matr-Nr:...

Praktikum 3 Algorithmik SS Aufgabe 10: Aufgabe 9 ( Skyline-Problem ) weitere Aufgaben folgen. Name:... Matr-Nr:... Praktikum 3 Algorithmik SS 2007 14052007 Aufgabe 9: Aufgabe 10: Das Skyline-Problem Union-Find-Strukturen weitere Aufgaben folgen Name: Matr-Nr: Datum: Unterschrift des Dozenten (wenn bestanden): Aufgabe

Mehr

Theoretische Informatik. Exkurs: Komplexität von Optimierungsproblemen. Optimierungsprobleme. Optimierungsprobleme. Exkurs Optimierungsprobleme

Theoretische Informatik. Exkurs: Komplexität von Optimierungsproblemen. Optimierungsprobleme. Optimierungsprobleme. Exkurs Optimierungsprobleme Theoretische Informatik Exkurs Rainer Schrader Exkurs: Komplexität von n Institut für Informatik 13. Mai 2009 1 / 34 2 / 34 Gliederung Entscheidungs- und Approximationen und Gütegarantien zwei Greedy-Strategien

Mehr

Das Suchproblem. Gegeben Menge von Datensätzen. Beispiele Telefonverzeichnis, Wörterbuch, Symboltabelle

Das Suchproblem. Gegeben Menge von Datensätzen. Beispiele Telefonverzeichnis, Wörterbuch, Symboltabelle 119 4. Suchen Lineare Suche, Binäre Suche, Interpolationssuche, Exponentielle Suche, Untere Schranken [Ottman/Widmayer, Kap. 3.2, Cormen et al, Kap. 2: Problems 2.1-3,2.2-3,2.3-5] 120 Das Suchproblem Gegeben

Mehr

Beispiellösung zu den Übungen Datenstrukturen und Algorithmen SS 2008 Blatt 5

Beispiellösung zu den Übungen Datenstrukturen und Algorithmen SS 2008 Blatt 5 Robert Elsässer Paderborn, den 15. Mai 2008 u.v.a. Beispiellösung zu den Übungen Datenstrukturen und Algorithmen SS 2008 Blatt 5 AUFGABE 1 (6 Punkte): Nehmen wir an, Anfang bezeichne in einer normalen

Mehr

2 Wachstumsverhalten von Funktionen

2 Wachstumsverhalten von Funktionen Algorithmen und Datenstrukturen 40 2 Wachstumsverhalten von Funktionen Beim Vergleich der Worst-Case-Laufzeiten von Algorithmen in Abhängigkeit von der Größe n der Eingabedaten ist oft nur deren Verhalten

Mehr

Das Suchproblem 4. Suchen Das Auswahlproblem Suche in Array

Das Suchproblem 4. Suchen Das Auswahlproblem Suche in Array Das Suchproblem Gegeben. Suchen Lineare Suche, Binäre Suche, Interpolationssuche, Untere Schranken [Ottman/Widmayer, Kap. 3.2, Cormen et al, Kap. 2: Problems 2.-3,2.2-3,2.3-] Menge von Datensätzen. Beispiele

Mehr

Vorlesung Informatik 2 Algorithmen und Datenstrukturen

Vorlesung Informatik 2 Algorithmen und Datenstrukturen Vorlesung Informatik 2 Algorithmen und Datenstrukturen (16 Dynamische Tabellen) Prof. Dr. Susanne Albers Dynamische Tabellen Problem: Verwaltung einer Tabelle unter den Operationen Einfügen und Entfernen,

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

Graphalgorithmen 2. Dominik Paulus Dominik Paulus Graphalgorithmen / 47

Graphalgorithmen 2. Dominik Paulus Dominik Paulus Graphalgorithmen / 47 Graphalgorithmen Dominik Paulus.0.01 Dominik Paulus Graphalgorithmen.0.01 1 / 7 1 Spannbäume Kruskal Prim Edmonds/Chu-Liu Datenstrukturen Fibonacci-Heap Union/Find Kürzeste Pfade Dijkstra Bellman-Ford

Mehr

Übung Algorithmen und Datenstrukturen

Übung Algorithmen und Datenstrukturen Übung Algorithmen und Datenstrukturen Sommersemester 217 Patrick Schäfer, Humboldt-Universität zu Berlin Agenda: Graphen, Suchbäume, AVL Bäume Heute: Graphen und Bäume Binäre Suchbäume AVL-Bäume Nächste

Mehr

Vorlesung Datenstrukturen

Vorlesung Datenstrukturen Vorlesung Datenstrukturen Minimale Spannbäume Maike Buchin 18.7., 20.7.2017 Einführung Motivation: Verbinde Inseln mit Fähren oder Städte mit Schienen und verbrauche dabei möglichst wenig Länge. Problem:

Mehr

Wiederholung. Datenstrukturen und. Bäume. Wiederholung. Suchen in linearen Feldern VO

Wiederholung. Datenstrukturen und. Bäume. Wiederholung. Suchen in linearen Feldern VO Wiederholung Datenstrukturen und Algorithmen VO 708.031 Suchen in linearen Feldern Ohne Vorsortierung: Sequentielle Suche Speicherung nach Zugriffswahrscheinlichkeit Selbstanordnende Felder Mit Vorsortierung:

Mehr

Datenstrukturen & Algorithmen Lösungen zu Blatt 6 FS 12

Datenstrukturen & Algorithmen Lösungen zu Blatt 6 FS 12 Eidgenössische Technische Hochschule Zürich Ecole polytechnique fédérale de Zurich Politecnico federale di Zurigo Federal Institute of Technology at Zurich Institut für Theoretische Informatik 8. März

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen 13. Übung minimale Spannbäume, topologische Sortierung, AVL-Bäume Clemens Lang Übungen zu AuD 4. Februar 2010 Clemens Lang (Übungen zu AuD) Algorithmen und Datenstrukturen

Mehr

Fortgeschrittene Netzwerk- und Graph-Algorithmen

Fortgeschrittene Netzwerk- und Graph-Algorithmen Fortgeschrittene Netzwerk- und Graph-Algorithmen Prof. Dr. Hanjo Täubig Lehrstuhl für Effiziente Algorithmen (Prof. Dr. Ernst W. Mayr) Institut für Informatik Technische Universität München Wintersemester

Mehr

Algorithmen und Komplexität Lösungsvorschlag zu Übungsblatt 8

Algorithmen und Komplexität Lösungsvorschlag zu Übungsblatt 8 ETH Zürich Institut für Theoretische Informatik Prof. Dr. Angelika Steger Florian Meier, Ralph Keusch HS 2017 Algorithmen und Komplexität Lösungsvorschlag zu Übungsblatt 8 Lösungsvorschlag zu Aufgabe 1

Mehr

Was bisher geschah ADT Menge mit Operationen: Suche nach einem Element Einfügen eines Elementes Löschen eines Elementes Realisierung durch

Was bisher geschah ADT Menge mit Operationen: Suche nach einem Element Einfügen eines Elementes Löschen eines Elementes Realisierung durch Was bisher geschah ADT Menge mit Operationen: Suche nach einem Element Einfügen eines Elementes Löschen eines Elementes Realisierung durch verschiedene Datenstrukturen: lineare Datenstrukturen: Array,

Mehr

Abgabe: (vor der Vorlesung) Aufgabe 2.1 (P) O-Notation Beweisen Sie die folgenden Aussagen für positive Funktionen f und g:

Abgabe: (vor der Vorlesung) Aufgabe 2.1 (P) O-Notation Beweisen Sie die folgenden Aussagen für positive Funktionen f und g: TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK Lehrstuhl für Sprachen und Beschreibungsstrukturen SS 2009 Grundlagen: Algorithmen und Datenstrukturen Übungsblatt 2 Prof. Dr. Helmut Seidl, S. Pott,

Mehr

Sortieren II / HeapSort Heaps

Sortieren II / HeapSort Heaps Organisatorisches VL-07: Sortieren II: HeapSort (Datenstrukturen und Algorithmen, SS 2017) Vorlesung: Gerhard Woeginger (Zimmer 4024 im E1) Email: [email protected] Webseite: http://algo.rwth-aachen.de/lehre/ss17/dsa.php

Mehr

Datenstrukturen und Algorithmen

Datenstrukturen und Algorithmen Datenstrukturen und Algorithmen Jedes Programm verwendet Datenstrukturen und Algorithmen um seine Aufgabe zu erfüllen Diese müssen offenbar zunächst sorgfältig dem speziellen Problem entsprechend ausgewählt

Mehr

8. A & D - Heapsort. Werden sehen, wie wir durch geschicktes Organsieren von Daten effiziente Algorithmen entwerfen können.

8. A & D - Heapsort. Werden sehen, wie wir durch geschicktes Organsieren von Daten effiziente Algorithmen entwerfen können. 8. A & D - Heapsort Werden sehen, wie wir durch geschicktes Organsieren von Daten effiziente Algorithmen entwerfen können. Genauer werden wir immer wieder benötigte Operationen durch Datenstrukturen unterstützen.

Mehr

12 (2-4)-Bäume Implementierbare Funktionen. (2-4)-Bäume sind durch folgende Eigenschaften deniert: 1. Alle Äste sind gleich lang

12 (2-4)-Bäume Implementierbare Funktionen. (2-4)-Bäume sind durch folgende Eigenschaften deniert: 1. Alle Äste sind gleich lang 12 (2-4)-Bäume (2-4)-Bäume sind durch folgende Eigenschaften deniert: 1. Alle Äste sind gleich lang 2. Die Ordnung (maximale Anzahl der Söhne eines Knotens) ist gleich 4 3. Innere Knoten haben 2 Söhne

Mehr

Programm 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) Ü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

Mehr

Wiederholung. Bäume sind zyklenfrei. Rekursive Definition: Baum = Wurzelknoten + disjunkte Menge von Kindbäumen.

Wiederholung. Bäume sind zyklenfrei. Rekursive Definition: Baum = Wurzelknoten + disjunkte Menge von Kindbäumen. Wiederholung Baum: Gerichteter Graph, der die folgenden drei Bedingungen erfüllt: Es gibt einen Knoten, der nicht Endknoten einer Kante ist. (Dieser Knoten heißt Wurzel des Baums.) Jeder andere Knoten

Mehr

Algorithmische Graphentheorie

Algorithmische Graphentheorie Algorithmische Graphentheorie Vorlesung 4: Suchstrategien Babeş-Bolyai Universität, Department für Informatik, Cluj-Napoca [email protected] 14. April 2017 HALBORDNUNG TOPOLOGISCHE ORDNUNG TOPOLOGISCHES

Mehr

Datenstrukturen und Algorithmen D-INFK

Datenstrukturen und Algorithmen D-INFK Eidgenössische Technische Hochschule Zürich Ecole polytechnique fédérale de Zurich Politecnico federale di Zurigo Federal Institute of Technology at Zurich Institut für Theoretische Informatik Peter Widmayer

Mehr

Breitensuche BFS (Breadth First Search)

Breitensuche 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;

Mehr

Vorlesung Informatik 2 Algorithmen und Datenstrukturen. (25 Sortieren vorsortierter Daten)

Vorlesung Informatik 2 Algorithmen und Datenstrukturen. (25 Sortieren vorsortierter Daten) Vorlesung Informatik 2 Algorithmen und Datenstrukturen (25 Sortieren vorsortierter Daten) 1 Untere Schranke für allgemeine Sortierverfahren Satz Zum Sortieren einer Folge von n Schlüsseln mit einem allgemeinen

Mehr

Voronoi-Diagramme INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK. Dr. Martin Nöllenburg Vorlesung Algorithmische Geometrie

Voronoi-Diagramme INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK. Dr. Martin Nöllenburg Vorlesung Algorithmische Geometrie Vorlesung Algorithmische Geometrie INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 03.06.2014 1 Das Postamt-Problem b(p, q) = {x 2 R 2 : xp = xq } p q h(p, q) h(q, p) = {x

Mehr

Manipulation von Mengen

Manipulation von Mengen Manipulation von Mengen Thomas Röfer Vorrangwarteschlange Linksbaum Heap HeapSort Union-Find-Strukturen Allgemeiner Rahmen für Mengenmanipulationen Rückblick Hashing Streuspeicherverfahren Hashfunktion

Mehr

Entwurf und Analyse von Algorithmen WS 1999/2000

Entwurf und Analyse von Algorithmen WS 1999/2000 Entwurf und Analyse von Algorithmen WS 1999/2000 Prof. Dorothea Wagner Ausarbeitung: Dagmar Handke Matthias Weisgerber Anja Kristina Koch Version vom 29. November 2005 2 Inhaltsverzeichnis 1 Divide-and-Conquer-Verfahren

Mehr

Algorithmen und Datenstrukturen Heapsort

Algorithmen und Datenstrukturen Heapsort Algorithmen und Datenstrukturen 2 5 Heapsort In diesem Kapitel wird Heapsort, ein weiterer Sortieralgorithmus, vorgestellt. Dieser besitzt wie MERGE-SORT eine Laufzeit von O(n log n), sortiert jedoch das

Mehr

Lernmodul 7 Algorithmus von Dijkstra

Lernmodul 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

Mehr

Informatik II Prüfungsvorbereitungskurs

Informatik II Prüfungsvorbereitungskurs Informatik II Prüfungsvorbereitungskurs Tag 4, 9.6.2017 Giuseppe Accaputo [email protected] 1 Aufbau des PVK Tag 1: Java Teil 1 Tag 2: Java Teil 2 Tag 3: Algorithmen & Komplexität Tag 4: Dynamische Datenstrukturen,

Mehr

Datenstrukturen & Algorithmen

Datenstrukturen & Algorithmen Datenstrukturen & Algorithmen Matthias Zwicker Universität Bern Frühling 2010 Übersicht Sortieralgorithmen Einleitung Heapsort Quicksort 2 Motivation Sortieren ist Voraussetzung für viele Anwendungen Nach

Mehr

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

Datenstrukturen Teil 2. Bäume. Definition. Definition. Definition. Bäume sind verallgemeinerte Listen. Sie sind weiter spezielle Graphen Bäume sind verallgemeinerte Listen Datenstrukturen Teil 2 Bäume Jeder Knoten kann mehrere Nachfolger haben Sie sind weiter spezielle Graphen Graphen bestehen aus Knoten und Kanten Kanten können gerichtet

Mehr

Datenstrukturen und Algorithmen 2. Klausur SS 2001

Datenstrukturen 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:...................................................

Mehr

Humboldt-Universität zu Berlin Berlin, den Institut für Informatik

Humboldt-Universität zu Berlin Berlin, den Institut für Informatik Humboldt-Universität zu Berlin Berlin, den 15.06.2015 Institut für Informatik Prof. Dr. Ulf Leser Übungen zur Vorlesung M. Bux, B. Grußien, J. Sürmeli, S. Wandelt Algorithmen und Datenstrukturen Übungsblatt

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen 1 Algorithmen und Datenstrukturen Wintersemester 2017/18 20. Vorlesung Tiefensuche und topologische Sortierung Prof. Dr. Alexander Wolff Lehrstuhl für Informatik I Themen für den 3. Kurztest (Do, 25.01.18)

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

3. Übungsblatt zu Algorithmen I im SoSe 2017

3. Übungsblatt zu Algorithmen I im SoSe 2017 Karlsruher Institut für Technologie Prof. Dr. Jörn Müller-Quade Institut für Theoretische Informatik Björn Kaidel, Sebastian Schlag, Sascha Witt 3. Übungsblatt zu Algorithmen I im SoSe 2017 http://crypto.iti.kit.edu/index.php?id=799

Mehr

lim log 2n n = > 0 Da es einen Limes gibt, gibt es auch einen Limes inferior, der gleich diesem Limes ist.

lim log 2n n = > 0 Da es einen Limes gibt, gibt es auch einen Limes inferior, der gleich diesem Limes ist. Prof. aa Dr. Ir. Joost-Pieter Katoen Christian Dehnert, Jonathan Heinen, Thomas Ströder, Sabrina von Styp Aufgabe 1 (O-Notation): Beweisen oder widerlegen Sie die folgenden Aussagen: (3 + 3 + 4 = 10 Punkte)

Mehr