Übersicht. Datenstrukturen und Algorithmen. Die Teile-und-Beherrsche-Methode. Übersicht. Vorlesung 3: Rekursionsgleichungen (K4)

Größe: px
Ab Seite anzeigen:

Download "Übersicht. Datenstrukturen und Algorithmen. Die Teile-und-Beherrsche-Methode. Übersicht. Vorlesung 3: Rekursionsgleichungen (K4)"

Transkript

1 Datenstrukturen und Algorithmen Vorlesung 3: (K4) 1 e für rekursive Algorithmen Prof. Dr. Erika Ábrahám 2 Theorie Hybrider Systeme Informatik 2 datenstrukturen-und-algorithmen/ Diese Präsentation verwendet in Teilen Folien von Joost-Pieter Katoen. 3 Lösen von 24. April 2014 Prof. Dr. Erika Ábrahám Datenstrukturen und Algorithmen 1/36 Prof. Dr. Erika Ábrahám Datenstrukturen und Algorithmen 2/36 e für rekursive Algorithmen e für rekursive Algorithmen Die Teile-und-Beherrsche-Methode 1 e für rekursive Algorithmen 2 3 Lösen von Teile-und-Beherrsche (divide-and-conquer) Teile das Problem in eine Anzahl von Teilproblemen auf Beherrsche die Teilprobleme kleine Teilprobleme: direktes Lösen große Teilprobleme: Teile-und-Beherrsche Verbinde die Lösungen der Teilprobleme zur Lösung des Ausgangsproblems Prof. Dr. Erika Ábrahám Datenstrukturen und Algorithmen 3/36 Prof. Dr. Erika Ábrahám Datenstrukturen und Algorithmen 4/36

2 e für rekursive Algorithmen e für rekursive Algorithmen Summenberechnung Pascalsches Dreieck Iterative Berechnung (n IN) sum(n) = Rekursive Berechnung (n IN) n i 0 falls n = 0 sum(n) = sum(n 1) + n sonst Rekursive Berechnung (n, m IN, m n) pas(n, m) = 1 falls m = 0 m = n pas(n 1, m 1) + pas(n 1, m) sonst. Prof. Dr. Erika Ábrahám Datenstrukturen und Algorithmen 5/36 Prof. Dr. Erika Ábrahám Datenstrukturen und Algorithmen 6/36 e für rekursive Algorithmen Multiplikation von Binärzahlen der Länge n Bisher: Addition und Multiplikation haben Zeitaufwand O(1) Addition: O(n) Bitoperationen Multiplikation: Auch O(n)? 1. Multiplikationsalgorithmus (a 1... a n ) (b 1... b n ) = (a 1... a n ) b 1 (a 1... a n ) b 2... (a 1... a n ) b n Summenbildung n 1 Additionen von Zahlen der Länge 2n O(n 2 )! e für rekursive Algorithmen Multiplikation von Binärzahlen der Länge n Beobachtung Seien a, b Binärzahlen mit n = 2 m bits. Dann a = a 1... a n/2 a n/ a n b = b 1... b n/2 b n/ b n }}}}}}}} a a b b a b = (a 2 n 2 + a ) (b 2 n 2 + b ) = a b 2 n + a b 2 n 2 + a b 2 n 2 + a b 2. Multiplikationsalgorithmus a b falls n = 1 mul(a, b, n) = mul(a, b, n 2 ) 2n + mul(a, b, n 2 ) 2 n 2 + mul(a, b, n 2 ) 2 n 2 + mul(a, b, n 2 ) sonst. Prof. Dr. Erika Ábrahám Datenstrukturen und Algorithmen 7/36 Prof. Dr. Erika Ábrahám Datenstrukturen und Algorithmen 8/36

3 1 e für rekursive Algorithmen Rekursionsgleichung 2 3 Lösen von Eine Rekursionsgleichung ist eine Gleichung oder eine Ungleichung, die eine Funktion durch ihre eigenen Funktionswerte für kleinere Eingaben beschreibt. Wir benutzen um die Laufzeit von rekursiven Algorithmen zu beschreiben. Zur Ermittlung der Laufzeit lösen wir diese Gleichungen. Prof. Dr. Erika Ábrahám Datenstrukturen und Algorithmen 9/36 Prof. Dr. Erika Ábrahám Datenstrukturen und Algorithmen 10/36 für O(Worst-Case-Laufzeit) für Worst-Case-Laufzeit Rekursionsgleichung für eine obere Grenze der Worst-Case Laufzeit T A (n) eines Algorithmus A mit Parameterlänge n aufstellen Elementare Operationen und ihre Kosten werden bestimmt. Bei sequentieller Komposition werden die Kosten addiert. Bei bedingter Verzweigung wird das Maximum der beiden Zweige genommen. Der Aufruf eines Unterprogrammes B mit Parameterlänge f (n) wird mit den Kosten T B (f (n)) der Ausführung des Unterprogrammes versehen. Auch rekursive Aufrufe werden wie Unterprogramm-Aufrufe behandelt. : Teile-und-Beherrsche (divide-and-conquer) Teile das Problem in eine Anzahl von Teilproblemen auf Beherrsche die Teilprobleme kleine Teilprobleme: direktes Lösen große Teilprobleme: Teile-und-Beherrsche Verbinde die Lösungen der Teilprobleme zur Lösung des Ausgangsproblems Laufzeit = Laufzeit Teilen + Laufzeit Beherrschen + Laufzeit Verbinden Prof. Dr. Erika Ábrahám Datenstrukturen und Algorithmen 11/36 Prof. Dr. Erika Ábrahám Datenstrukturen und Algorithmen 12/36

4 Summenberechnung Pascalsches Dreieck Rekursive Berechnung (n IN) Laufzeit 0 falls n = 0 sum(n) = sum(n 1) + n sonst. T sum (n) = 0 falls n = T sum (n 1) + 1 sonst. Rekursive Berechnung (n, m IN, m n) pas(n, m) = Laufzeit 1 falls m = 0 m = n pas(n 1, m 1) + pas(n 1, m) sonst. T pas (n, m) = 0 falls m = 0 m = n 3 + T pas (n 1, m 1) + T pas (n 1, m) + 1 sonst. Prof. Dr. Erika Ábrahám Datenstrukturen und Algorithmen 13/36 Prof. Dr. Erika Ábrahám Datenstrukturen und Algorithmen 14/36 Multiplikation von Binärzahlen der Länge n Lösen von 2. Multiplikationsalgorithmus a b falls n = 1 mul(a, b, n) = mul(a, b, n 2 ) 2n + mul(a, b, n 2 ) 2 n 2 + mul(a, b, n 2 ) 2 n 2 + mul(a, b, n 2 ) sonst. 1 e für rekursive Algorithmen 2 Laufzeit 1 falls n = 1 T mul (n) = d 1 n + 4 T mul ( n 2 ) + d 2 n sonst. 3 Lösen von Prof. Dr. Erika Ábrahám Datenstrukturen und Algorithmen 15/36 Prof. Dr. Erika Ábrahám Datenstrukturen und Algorithmen 16/36

5 Lösen von Ansätze zur Lösung von Lösen von Lösungsansätze Substitutionsmethode: Lösung raten, per Induktion Korrektheit beweisen Rekursionsbaum-Methode: Rekursionsbaum aufstellen, Summenformeln beschränken : Liefert Lösungen für einer bestimmten Form, einfach aber nicht immer anwendbar Substitutionsmethode besteht aus zwei Schritten: 1. Rate die Form der Lösung, durch z.b. durch scharfes Hinsehen oder kurze Eingaben ausprobieren und einsetzen. 2. Vollständige Induktion um die Konstanten zu finden und zu zeigen, dass das Geratene eine Lösung ist. Bemerkungen Diese Methode ist sehr leistungsfähig, aber kann nur angewendet werden wenn es relativ einfach ist, die Form der Lösung zu erraten. Prof. Dr. Erika Ábrahám Datenstrukturen und Algorithmen 17/36 Prof. Dr. Erika Ábrahám Datenstrukturen und Algorithmen 18/36 Lösen von Substitutionsmethode: Summenberechnung Laufzeit 0 falls n = 0 T sum (n) = T sum (n 1) + 2 sonst. Vermutung: T sum (n) O(n) Zeige: c > 0. n 0 0. n n 0. T sum (n) c n Induktionsanfang n 0 = 0: T sum (0) = 0 c 0 for all c > 0. Induktionsannahme: T sum (k) c k für alle 0 k < n Induktionsschritt: T sum (n) = T sum (n 1) + 2 c (n 1) + 2 = c n + (2 c) c n für c 2. Lösen von : Annahmenverstärkung Induktiv vs. invariant Eine asymptotische Schranke kann nicht immer direkt mit der vollständigen Induktion bewiesen werden. induktiv invariant T (n) = T ( n/2 ) + T ( n/2 ) + 1 T (n) O(n) Zu zeigen: c > 0. n 0 0. n n 0. T (n) c n T (n) = T ( n/2 )+T ( n/2 )+1 c n/2 +c n/2 +1 = c n + 1 Prof. Dr. Erika Ábrahám Datenstrukturen und Algorithmen 19/36 Prof. Dr. Erika Ábrahám Datenstrukturen und Algorithmen 20/36

6 Lösen von : Annahmenverstärkung T (n) = T ( n/2 ) + T ( n/2 ) + 1 T (n) O(n) Zu zeigen: c > 0. n 0 0. n n 0. T (n) c n T (n) = T ( n/2 )+T ( n/2 )+1 c n/2 +c n/2 +1 = c n + 1 Verstärke die Invariante und zeige T (n) O(n 1) und n 1 O(n) Zu zeigen: c > 0. n 0 0. n n 0. T (n) c (n 1) T (n) = T ( n/2 ) + T ( n/2 ) + 1 c( n/2 1) + c( n/2 1) + 1 = c (n 1) + (1 c) c (n 1) für c 1. Prof. Dr. Erika Ábrahám Datenstrukturen und Algorithmen 21/36 Lösen von : Variablentransformation Manchmal hilft eine Variablentransformation beim Lösen. T (n) = 2 T ( n ) + log n für n > 0 (Im Folgenden vernachlässigen wir die Rundung von Werten.) T (n) = 2 T ( n) + log n Variablentransformation m = log n ( T (2 m ) = 2 T 2 m/2) + m Umbenennung T (2 m ) = S(m) S(m) = 2 S(m/2) + m Substitutionsmethode S(m) c m log m S(m) O (m log m) m = log n T (n) O (log n log log n) Prof. Dr. Erika Ábrahám Datenstrukturen und Algorithmen 22/36 1 e für rekursive Algorithmen 2 3 Lösen von Lösen von Prof. Dr. Erika Ábrahám Datenstrukturen und Algorithmen 23/36 Lösen von Raten der Lösung durch Grundidee Stelle das Ineinander-Einsetzen als Baum dar, indem man Buch über das aktuelle Rekursionsargument und die nichtrekursiven Kosten führt. Rekursionsbaum 1. Jeder Knoten stellt die Kosten eines Teilproblems dar. Die Wurzel stellt die zu analysierenden Kosten T (n) dar. Die Blätter stellen die Kosten der Basisfälle dar, z.b. T (0) oder T (1). 2. Wir summieren die Kosten innerhalb jeder Ebene des Baumes. 3. Die Gesamtkosten := summieren über die Kosten aller Ebenen. Hinweis Ein Rekursionsbaum ist sehr nützlich, um eine Lösung zu raten, die dann mit Hilfe der Substitutionsmethode überprüft werden kann. Der Baum selber reicht jedoch meistens nicht als Beweis. Prof. Dr. Erika Ábrahám Datenstrukturen und Algorithmen 24/36

7 Lösen von Lösen von Rekursionsbaum: Der Rekursionsbaum von T (n) = 3 + n sieht etwa so aus: Rekursionsbaum: log 4 n T (n) n n 3 Aktuelles Rekursionsargument T (n) n Nichtrekursive Kosten T () T () T () T () T () T () 9 T () T () T () T () T () T () T (1) T (1) T (1) T (1) T (1) T (1) T (1) T (1) T (1) T (1) T (n) = 3 log 4 n = n log 4 3 log 4 n 1 }} Summe über alle Ebenen ( ) 3 i n 4 }} Kosten pro Ebene + c n log 4 3 }} Gesamtkosten für die Blätter mit T (1) = c Prof. Dr. Erika Ábrahám Datenstrukturen und Algorithmen 25/36 Prof. Dr. Erika Ábrahám Datenstrukturen und Algorithmen 26/36 Rekursionsbaum: Lösen von Eine obere Schranke für die Komplexität erhält man nun folgendermaßen: T (n) = < = log 4 n 1 ( 3 4 ) i n + c n log 4 3 Vernachlässigen kleinerer Terme ( ) 3 i n + c n log 4 3 Geometrische Reihe (3/4) n + c nlog 4 3 Umformen = 4 n + c n log 4 3 Asymptotische Ordnung bestimmen setze ein, dass log 4 3 < 1 T (n) O(n). Korrektheit Lösen von Wir können die Substitutionsmethode benutzen, um die Vermutung zu bestätigen dass: T (n) O(n) eine obere Schranke von T (n) = 3 + n ist. T (n) = 3 + n 3c + n = 3 4 c n + n = Induktionshypothese ( 3 4 c + 1 ) n für c 4 folgt: c n Und wir stellen fest, dass es ein n 0 gibt, sodass T (n 0 ) c n 0 ist. Prof. Dr. Erika Ábrahám Datenstrukturen und Algorithmen 27/36 Prof. Dr. Erika Ábrahám Datenstrukturen und Algorithmen 28/36

8 Lösen von Lösen von 1 e für rekursive Algorithmen 2 3 Lösen von Allgemeine Form der Rekursionsgleichung Eine Rekursionsgleichung für die Komplexitätsanalyse sieht meistens folgendermaßen aus: ( ) n T (n) = a T + f (n) b wobei a > 0, b > 1 gilt und f (n) eine gegebene Funktion ist. Intuition: Das zu analysierende Problem teilt sich jeweils in a Teilprobleme auf Jedes dieser Teilprobleme hat die Größe n b Die Kosten für das Aufteilen eines Problems und Kombinieren der Teillösungen sind f (n). Prof. Dr. Erika Ábrahám Datenstrukturen und Algorithmen 29/36 Prof. Dr. Erika Ábrahám Datenstrukturen und Algorithmen 30/36 Lösen von Erinnerung: Rekursionsbaum T (n) = a T ( ) n b + f (n) log b n T (n/b 2 ) f (n/b 2 ) T (n/b) f (n/b)... T (n/b 2 ) f (n/b 2 ) T (n) f (n)... T (n/b) f (n/b) T (n/b 2 ) f (n/b 2 )... T (n/b 2 ) f (n/b 2 ) T (1) T (1) T (1) T (1) T (1) T (1) T (1) T (1) T (1) T (1) T (n) = log b n 1 }} Summe über alle Ebenen a log b n = n log b a a i f (n/b i) }} Kosten pro Ebene + c n log b a }} Gesamtkosten für die Blätter mit T (1) = c f (n) af (n/b) a 2 f (n/b 2 ) Prof. Dr. Erika Ábrahám Datenstrukturen und Algorithmen 31/36 Das T (n) = a T Lösen von ( n b ) + f (n) mit a 1 und b > 1. Anzahl der Blätter im Rekursionsbaum: n E mit E = log b a. Wenn Dann 1. f (n) O(n E ε ) für ein ε > 0 T (n) Θ(n E ) 2. f (n) Θ(n E ) T (n) Θ(n E log n) 3. f (n) Ω(n E+ε ) für ein ε > 0 und a f (n/b) d f (n) für ein d < 1 und n hinreichend groß T (n) Θ(f (n)) Bemerke, dass das nicht alle Fälle abdeckt. Prof. Dr. Erika Ábrahám Datenstrukturen und Algorithmen 32/36

9 Das verstehen Lösen von In jedem der 3 Fälle wird die Funktion f (n) mit n E = n log b a verglichen. : Intuition Wenn Dann 1. f (n) polynomiell kleiner ist als n E T (n) Θ(n E ) 2. f (n) und n E die gleiche Größe haben T (n) Θ(n E log n) 3. f (n) ist polynomiell größer als n E und erfüllt a f (n/b) d f (n) Nicht abgedeckte Fälle: T (n) Θ(f (n)) 1. f (n) ist kleiner als n E, jedoch nicht polynomiell kleiner. 2. f (n) ist größer als n E, jedoch nicht polynomiell größer. 3. f (n) ist polynomiell größer als n E, erfüllt nicht a f (n/b) d f (n). Lösen von Anwendung des s T (n) = 4 T (n/2) + n Somit: a = 4, b = 2 und f (n) = n; E = log 4/ log 2 = 2. Da f (n) = n O(n 2 ε ), gilt Fall 1: T (n) Θ(n 2 ) T (n) = 4 T (n/2) + n 2 Somit: a = 4, b = 2 und f (n) = n 2 ; E = log 4/ log 2 = 2. Da f (n) = n 2 O(n 2 ε ), gilt Fall 1 nicht. Aber weil f (n) = n 2 Θ(n 2 ), gilt Fall 2: T (n) Θ(n 2 log n) Prof. Dr. Erika Ábrahám Datenstrukturen und Algorithmen 33/36 Prof. Dr. Erika Ábrahám Datenstrukturen und Algorithmen 34/36 Lösen von Anwendung des s T (n) = 4 T (n/2) + n 3 Somit: a = 4, b = 2 und f (n) = n 3 ; E = log 4/ log 2 = 2. Wegen E = 2 gelten Fälle 1 und 2 offenbar nicht. Da f (n) = n 3 Ω(n 2+ε ) für ε = 1, könnte Fall 3 gelten. Überprüfe: gilt f (n/2) d 4 f (n) für ein d < 1 und hinreichend große n? Dies liefert 1 8 n3 d 4 n3, und dies gilt für alle 1 2 d < 1 (und n) Somit gilt Fall 3 tatsächlich und wir folgern: T (n) Θ(n 3 ) Lösen von Das ist nicht immer anwendbar T (n) = 4 T (n/2) + n2 log n Also gilt: a = 4, b = 2 und f (n) = n 2 / log n; E = 2. Fall 1 ist nicht anwendbar: n 2 / log n O(n 2 ε ), da f (n)/n 2 = (log n) 1 O(n ε ). Fall 2 ist nicht anwendbar: n 2 / log n Θ(n 2 ). Fall 3 ist nicht anwendbar: f (n) Ω(n 2+ε ), da f (n)/n 2 = (log n) 1 O(n +ε ). Das hilft hier überhaupt nicht weiter! Durch Substitution erhält man: T (n) Θ(n 2 log log n) Prof. Dr. Erika Ábrahám Datenstrukturen und Algorithmen 35/36 Prof. Dr. Erika Ábrahám Datenstrukturen und Algorithmen 36/36

VL-04: Rekursionsgleichungen. (Datenstrukturen und Algorithmen, SS 2017) Gerhard Woeginger

VL-04: Rekursionsgleichungen. (Datenstrukturen und Algorithmen, SS 2017) Gerhard Woeginger VL-04: Rekursionsgleichungen (Datenstrukturen und Algorithmen, SS 2017) Gerhard Woeginger SS 2017, RWTH DSAL/SS 2017 VL-04: Rekursionsgleichungen 1/37 Organisatorisches Vorlesung: Gerhard Woeginger (Zimmer

Mehr

Rekursionsbäume Aufstellen eines Baumes dessen Knoten die Laufzeit auf jeder Rekursionsstufe darstellen und Aufsummieren

Rekursionsbäume Aufstellen eines Baumes dessen Knoten die Laufzeit auf jeder Rekursionsstufe darstellen und Aufsummieren Algorithmen und Datenstrukturen 74 3 Rekursionen Vor allem bei rekursiven Algorithmen besitzt die Laufzeitfunktion eine naheliegende rekursive Formulierung, d.h. die Laufzeitfunktion ist konstant für den

Mehr

Übersicht. Datenstrukturen und Algorithmen. Rekursionsgleichungen. Übersicht. Vorlesung 6: Mastertheorem (K4) Joost-Pieter Katoen

Übersicht. Datenstrukturen und Algorithmen. Rekursionsgleichungen. Übersicht. Vorlesung 6: Mastertheorem (K4) Joost-Pieter Katoen Übersicht Datestrukture ud Algorithme Vorlesug 6: (K) Joost-Pieter Katoe Lehrstuhl für Iformatik 2 Software Modelig ad Verificatio Group 1 Substitutiosmethode Rekursiosbäume http://moves.rwth-aache.de/teachig/ss-15/dsal/

Mehr

Übersicht. Datenstrukturen und Algorithmen Vorlesung 5: Rekursionsgleichungen (K4) Übersicht. Binäre Suche. Joost-Pieter Katoen. 20.

Übersicht. Datenstrukturen und Algorithmen Vorlesung 5: Rekursionsgleichungen (K4) Übersicht. Binäre Suche. Joost-Pieter Katoen. 20. Übersicht Datenstrukturen und Algorithmen Vorlesung 5: (K4) Joost-Pieter Katoen Lehrstuhl für Informatik 2 Software Modeling and Verification Group http://www-i2.informatik.rwth-aachen.de/i2/dsal12/ 20.

Mehr

Kapitel 2: Analyse der Laufzeit von Algorithmen Gliederung

Kapitel 2: Analyse der Laufzeit von Algorithmen Gliederung Gliederung 1. Motivation / Einordnung / Grundlagen 2. Analyse der Laufzeit von Algorithmen 3. Untere Schranken für algorithmische Probleme 4. Sortier- und Selektionsverfahren 5. Paradigmen des Algorithmenentwurfs

Mehr

Algorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 2014 / Vorlesung 9, Donnerstag 18.

Algorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 2014 / Vorlesung 9, Donnerstag 18. Algorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 2014 / 2015 Vorlesung 9, Donnerstag 18. Dezember 2014 (Teile und Herrsche, Mastertheorem) Junior-Prof. Dr.

Mehr

Datenstrukturen. Mariano Zelke. Sommersemester 2012

Datenstrukturen. Mariano Zelke. Sommersemester 2012 Datenstrukturen Mariano Zelke Sommersemester 2012 Mariano Zelke Datenstrukturen 2/19 Das Teilfolgenproblem: Algorithmus A 3 A 3 (i, j bestimmt den Wert einer maximalen Teilfolge für a i,..., a j. (1 Wenn

Mehr

Übersicht. Datenstrukturen und Algorithmen. Divide-and-Conquer. Übersicht. Vorlesung 9: Quicksort (K7)

Übersicht. Datenstrukturen und Algorithmen. Divide-and-Conquer. Übersicht. Vorlesung 9: Quicksort (K7) Datenstrukturen und Algorithmen Vorlesung 9: (K7) Joost-Pieter Katoen Algorithmus Lehrstuhl für Informatik 2 Software Modeling and Verification Group http://moves.rwth-aachen.de/teaching/ss-5/dsal/ 2 7.

Mehr

Algorithmen und Datenstrukturen Effizienz und Funktionenklassen

Algorithmen und Datenstrukturen Effizienz und Funktionenklassen Algorithmen und Datenstrukturen Effizienz und Funktionenklassen Matthias Teschner Graphische Datenverarbeitung Institut für Informatik Universität Freiburg SS 12 Lernziele der Vorlesung Algorithmen Sortieren,

Mehr

f 1 (n) = log(n) + n 2 n 5 f 2 (n) = n 3 + n 2 f 3 (n) = log(n 2 ) f 4 (n) = n n f 5 (n) = (log(n)) 2

f 1 (n) = log(n) + n 2 n 5 f 2 (n) = n 3 + n 2 f 3 (n) = log(n 2 ) f 4 (n) = n n f 5 (n) = (log(n)) 2 Prof. aa Dr. E. Ábrahám Datenstrukturen und Algorithmen SS Lösung - Präsenzübung.05.0 F. Corzilius, S. Schupp, T. Ströder Aufgabe (Asymptotische Komplexität): (6 + 0 + 6 = Punkte) a) Geben Sie eine formale

Mehr

Algorithmen und Datenstrukturen 4. Vorlesung

Algorithmen und Datenstrukturen 4. Vorlesung Algorithmen und Datenstrukturen 4 Vorlesung Karl-Heinz Niggl 25 April 26 FG KTuEA, TU Ilmenau AuD 25426 Lösen von Rekursionsgleichungen Die worst-case Laufzeit T A eines rekursiven Algorithmus A ist oft

Mehr

Algorithmen und Datenstrukturen SoSe 2008 in Trier. Henning Fernau Universität Trier

Algorithmen und Datenstrukturen SoSe 2008 in Trier. Henning Fernau Universität Trier Algorithmen und Datenstrukturen SoSe 2008 in Trier Henning Fernau Universität Trier fernau@uni-trier.de 1 Algorithmen und Datenstrukturen Gesamtübersicht Organisatorisches / Einführung Grundlagen: RAM,

Mehr

Algorithmenbegriff: Berechenbarkeit. Algorithmenanalyse. (Berechnung der Komplexität)

Algorithmenbegriff: Berechenbarkeit. Algorithmenanalyse. (Berechnung der Komplexität) Über-/Rückblick Algorithmenbegriff: Berechenbarkeit Turing-Maschine RAM µ-rekursive Funktionen Zeit Platz Komplexität Algorithmentechniken Algorithmenanalyse (Berechnung der Komplexität) Rekursion Iteration

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

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

Präsenzübung Datenstrukturen und Algorithmen SS 2014

Präsenzübung Datenstrukturen und Algorithmen SS 2014 Prof. aa Dr. E. Ábrahám F. Corzilius, S. Schupp, T. Ströder Präsenzübung Datenstrukturen und Algorithmen SS 2014 Vorname: Nachname: Studiengang (bitte genau einen markieren): Informatik Bachelor Informatik

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

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, Exponentielle Suche, Untere Schranken [Ottman/Widmayer, Kap. 3.2, Cormen et al, Kap. 2: Problems 2.-3,2.2-3,2.3-] Menge

Mehr

Informatik II, SS 2018

Informatik II, SS 2018 Informatik II - SS 2018 (Algorithmen & Datenstrukturen) Vorlesung 4 (30.4.2018) Sortieren IV Algorithmen und Komplexität Analyse Merge Sort Laufzeit T(n) setzt sich zusammen aus: Divide und Merge: O n

Mehr

Übungen zu Algorithmentechnik WS 09/10

Übungen zu Algorithmentechnik WS 09/10 Übungen zu Algorithmentechnik WS 09/10 1. Kurzsitzung Thomas Pajor 22. Oktober 2009 1/ 25 Eure Übungsleiter Tanja Hartmann t.hartmann@kit.edu Raum 306, Gebäude 50.34 Thomas Pajor pajor@kit.edu Raum 322,

Mehr

Kapitel 5: Paradigmen des Algorithmenentwurfs. Gliederung

Kapitel 5: Paradigmen des Algorithmenentwurfs. Gliederung Gliederung 1. Grundlagen 2. Analyse der Laufzeit von Algorithmen 3. Untere Schranken für algorithmische Probleme 4. Sortier- und Selektionsverfahren 5. Paradigmen des Algorithmenentwurfs 6. Ausgewählte

Mehr

Algorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 2013 / Vorlesung 9, Donnerstag 19.

Algorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 2013 / Vorlesung 9, Donnerstag 19. Algorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 2013 / 2014 Vorlesung 9, Donnerstag 19. Dezember 2013 (Teile und Herrsche, Mastertheorem) Junior-Prof. Dr.

Mehr

Übung Algorithmen und Datenstrukturen

Übung Algorithmen und Datenstrukturen Übung Algorithmen und Datenstrukturen Sommersemester 017 Marc Bux, Humboldt-Universität zu Berlin Agenda 1. Vorrechnen von Aufgabenblatt 1. Wohlgeformte Klammerausdrücke 3. Teile und Herrsche Agenda 1.

Mehr

1 Raumwechsel: Gr. 15 (Do 10-12, F-235) ab sofort in G Studie zum Arbeitsverhalten von Studierenden unter Leitung

1 Raumwechsel: Gr. 15 (Do 10-12, F-235) ab sofort in G Studie zum Arbeitsverhalten von Studierenden unter Leitung Organisatorisches Algorithmen und Datenstrukturen Kapitel 3: Divide & Conquer Frank Heitmann heitmann@informatik.uni-hamburg.de 1 Raumwechsel: Gr. 15 (Do 10-12, F-235) ab sofort in G-021. 2 Studie zum

Mehr

Übersicht. Datenstrukturen und Algorithmen. Übersicht. Heaps. Vorlesung 8: Heapsort (K6) Joost-Pieter Katoen. 7. Mai 2015

Übersicht. Datenstrukturen und Algorithmen. Übersicht. Heaps. Vorlesung 8: Heapsort (K6) Joost-Pieter Katoen. 7. Mai 2015 Datenstrukturen und Algorithmen Vorlesung 8: (K6) 1 Joost-Pieter Katoen Lehrstuhl für Informatik Software Modeling and Verification Group http://moves.rwth-aachen.de/teaching/ss-15/dsal/ 7. Mai 015 3 Joost-Pieter

Mehr

Datenstrukturen & Algorithmen

Datenstrukturen & Algorithmen Datenstrukturen & Algorithmen Matthias Zwicker Universität Bern Frühling 2010 Übersicht Untere Schranken für Sortieren Sortieren mit linearem Aufwand Mediane und Ranggrössen 2 Wie schnell können wir sortieren?

Mehr

( )= c+t(n-1) n>1. Stand der Vorlesung Komplexität von Algorithmen (Kapitel 3)

( )= c+t(n-1) n>1. Stand der Vorlesung Komplexität von Algorithmen (Kapitel 3) Stand der Vorlesung Komplexität von Algorithmen (Kapitel 3) Motivation: IT gestützte Steuerung, Überwachung, Fertigung, Produktion,. : erfordert effiziente Berechnungsvorschriften Ziel: Methoden kennen

Mehr

1. Übung zur Vorlesung Algorithmentechnik am

1. Übung zur Vorlesung Algorithmentechnik am 1. Übung zur Vorlesung Algorithmentechnik am 23.10.2008 1/ 52 Übersicht Organisatorisches Landau-Symbole & Laufzeiten Amortisierte Analyse Rekursionsauflösung Heaps und Fibonacci Heaps 2/ 52 Organisatorisches

Mehr

Stand der Vorlesung Komplexität von Algorithmen (Kapitel 3)

Stand der Vorlesung Komplexität von Algorithmen (Kapitel 3) Stand der Vorlesung Komplexität von Algorithmen (Kapitel 3) Technische Universität München Motivation: IT gestützte Steuerung, Überwachung, Fertigung, Produktion,. : erfordert effiziente Berechnungsvorschriften

Mehr

1. Asymptotische Notationen 2. Zahlentheoretische Algorithmen 3. Sortierverfahren 4. String Matching 5. Ausgewählte Datenstrukturen

1. Asymptotische Notationen 2. Zahlentheoretische Algorithmen 3. Sortierverfahren 4. String Matching 5. Ausgewählte Datenstrukturen Gliederung 1. Asymptotische Notationen 2. Zahlentheoretische Algorithmen 3. Sortierverfahren 4. String Matching 5. Ausgewählte Datenstrukturen 1/1, Folie 1 2009 Prof. Steffen Lange - HDa/FbI - Effiziente

Mehr

Übung zur Vorlesung Berechenbarkeit und Komplexität

Übung zur Vorlesung Berechenbarkeit und Komplexität RWTH Aachen Lehrgebiet Theoretische Informatik Reidl Ries Rossmanith Sanchez Tönnis WS 2012/13 Übungsblatt 7 26.11.2012 Übung zur Vorlesung Berechenbarkeit und Komplexität Aufgabe T15 Entwickeln Sie ein

Mehr

1. Musterlösung. Problem 1: Average-case-Laufzeit vs. Worst-case-Laufzeit ** i=1

1. Musterlösung. Problem 1: Average-case-Laufzeit vs. Worst-case-Laufzeit ** i=1 Universität Karlsruhe Algorithmentechnik Fakultät für Informatik WS 05/06 ITI Wagner. Musterlösung Problem : Average-case-Laufzeit vs. Worst-case-Laufzeit ** (a) Im schlimmsten Fall werden für jedes Element

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

Kapitel 2: Sortier- und Selektionsverfahren Gliederung

Kapitel 2: Sortier- und Selektionsverfahren Gliederung Gliederung 1. Laufzeit von Algorithmen 2. Sortier- und Selektionsverfahren 3. Paradigmen des Algorithmenentwurfs 4. Ausgewählte Datenstrukturen 5. Algorithmische Geometrie 6. Randomisierte Algorithmen

Mehr

Vorlesung Informatik 2 Algorithmen und Datenstrukturen

Vorlesung Informatik 2 Algorithmen und Datenstrukturen Vorlesung Informatik 2 Algorithmen und Datenstrukturen (03 Verschiedene Algorithmen für dasselbe Problem) Prof. Dr. Susanne Albers Das Maximum-Subarray Problem Das Maximum-Subarray Problem: Gegeben: Folge

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen Große Übung #6 Phillip Keldenich, Arne Schmidt 26.02.2017 Heute: Master-Theorem Phillip Keldenich, Arne Schmidt Große Übung 2 Vorbetrachtungen Wir betrachten rekursive Gleichungen

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

Übung Algorithmen und Datenstrukturen

Übung Algorithmen und Datenstrukturen Übung Algorithmen und Datenstrukturen Sommersemester 2016 Patrick Schäfer, Humboldt-Universität zu Berlin Organisation Vorlesung: Montag 11 13 Uhr Marius Kloft RUD 26, 0 115 Mittwoch 11 13 Uhr Marius Kloft

Mehr

1.3 Erinnerung: Mergesort

1.3 Erinnerung: Mergesort Mergesort 1.3 Erinnerung: Mergesort Um n Zahlen/Objekte a 1,..., a n zu sortieren, geht der Mergesort-Algorithmus so vor: Falls n n 0 : Sortiere mit einem naiven Algorithmus (z. B. Insertion Sort). Sonst:

Mehr

Komplexität von Algorithmen:

Komplexität von Algorithmen: Komplexität von Algorithmen: Ansatz: Beschreiben/erfassen der Komplexität über eine Funktion, zur Abschätzung des Rechenaufwandes abhängig von der Größe der Eingabe n Uns interessiert: (1) Wie sieht eine

Mehr

Datenstrukturen und Algorithmen

Datenstrukturen und Algorithmen Prof. Dr. Erika Ábrahám Datenstrukturen und Algorithmen 1/1 Datenstrukturen und Algorithmen Vorlesung 14: Prof. Dr. Erika Ábrahám Theorie Hybrider Systeme Informatik 2 http://ths.rwth-aachen.de/teaching/ss-14/

Mehr

Divide & Conquer. Problem in Teilprobleme aufteilen Teilprobleme rekursiv lösen Lösung aus Teillösungen zusammensetzen

Divide & Conquer. Problem in Teilprobleme aufteilen Teilprobleme rekursiv lösen Lösung aus Teillösungen zusammensetzen Teile & Herrsche: Divide & Conquer Problem in Teilprobleme aufteilen Teilprobleme rekursiv lösen Lösung aus Teillösungen zusammensetzen Probleme: Wie setzt man zusammen? [erfordert algorithmisches Geschick

Mehr

Grundlagen Theoretischer Informatik 3 SoSe 2012 in Trier. Henning Fernau Universität Trier

Grundlagen Theoretischer Informatik 3 SoSe 2012 in Trier. Henning Fernau Universität Trier Grundlagen Theoretischer Informatik 3 SoSe 2012 in Trier Henning Fernau Universität Trier fernau@uni-trier.de 1 Grundlagen Theoretischer Informatik 3 Gesamtübersicht Organisatorisches; Einführung Algorithmenanalyse:

Mehr

6 Quicksort. die mittlere Laufzeit Θ(n log n) beträgt und. die in der asymptotischen Notation verborgenen Konstanten sehr klein sind.

6 Quicksort. die mittlere Laufzeit Θ(n log n) beträgt und. die in der asymptotischen Notation verborgenen Konstanten sehr klein sind. Algorithmen und Datenstrukturen 132 6 Quicksort In diesem Abschnitt wird Quicksort, ein weiterer Sortieralgorithmus, vorgestellt. Trotz einer eher langsamen Worst-Case Laufzeit von Θ(n 2 ) ist Quicksort

Mehr

Algorithmen und Datenstrukturen 04

Algorithmen und Datenstrukturen 04 (17. Mai 2012) 1 Besprechung Blatt 3 Hinweise 2 Induktion Allgemeines Beispiele 3 Rekursion Lineare Rekursion und Endrekursion Entrekursivierung Weitere Rekursionstypen 4 O-Kalkül Allgemein Wichtige Formeln

Mehr

Übersicht. Datenstrukturen und Algorithmen. Laufzeit von Algorithmen. Übersicht. Vorlesung 2: Asymptotische Effizienz (K3) Begründung Grenzwerte

Übersicht. Datenstrukturen und Algorithmen. Laufzeit von Algorithmen. Übersicht. Vorlesung 2: Asymptotische Effizienz (K3) Begründung Grenzwerte Übersicht Datenstrukturen und Algorithmen Vorlesung 2: (K3) Joost-Pieter Katoen Lehrstuhl für Informatik 2 Software Modeling and Verification Group http://moves.rwth-aachen.de/teaching/ss-15/dsal/ 10.

Mehr

Uebersicht. Asymptotische Notation. Komplexitätsanalyse. Mengenschreibweise. O-Notation (obere Schranke) Datenstrukturen & Algorithmen

Uebersicht. Asymptotische Notation. Komplexitätsanalyse. Mengenschreibweise. O-Notation (obere Schranke) Datenstrukturen & Algorithmen Dtenstrukturen & Algorithmen Uebersicht Mthemtische Hilfsmittel zur Komplexitätsnlyse Wchstum von Funktionen Rekursionsgleichungen Mtthis Zwicker Universität Bern Frühling 2010 2 Komplexitätsnlyse Wie

Mehr

2. Klausur Datenstrukturen und Algorithmen SS 2014

2. Klausur Datenstrukturen und Algorithmen SS 2014 Prof. aa Dr. E. Ábrahám F. Corzilius, S. Schupp, T. Ströder 2. Klausur Datenstrukturen und Algorithmen SS 2014 Vorname: Nachname: Studiengang (bitte genau einen markieren): Informatik Bachelor Informatik

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen 1 Algorithmen und Datenstrukturen Wintersemester 2015/16 2. Vorlesung Sortieren mit anderen Mitteln Prof. Dr. Alexander Wolff Lehrstuhl für Informatik I 2-11 Teile und herrsche Idee: teile den Kartenstapel

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen 1 Algorithmen und Datenstrukturen Wintersemester 2016/17 2. Vorlesung Sortieren mit anderen Mitteln Prof. Dr. Alexander Wolff Lehrstuhl für Informatik I 2-1 Teile und herrsche Idee: teile den Kartenstapel

Mehr

Kapitel 3: Sortierverfahren Gliederung

Kapitel 3: Sortierverfahren 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

Ordnen Sie die folgenden Funktionen nach ihrer asymptotischer Komplexität in aufsteigender Reihenfolge: i=1 4i + n = 4 n. i=1 i + 3n = 4 ( n(n+1)

Ordnen Sie die folgenden Funktionen nach ihrer asymptotischer Komplexität in aufsteigender Reihenfolge: i=1 4i + n = 4 n. i=1 i + 3n = 4 ( n(n+1) für Informatik Prof. aa Dr. Ir. Joost-Pieter Katoen Tutoriumslösung - Übung (Abgabe 9.04.05) Christian Dehnert, Friedrich Gretz, Benjamin Kaminski, Thomas Ströder Tutoraufgabe (Asymptotische Komplexität):

Mehr

14. Sortieren II Heapsort. Heapsort. [Max-]Heap 7. Heapsort, Quicksort, Mergesort. Binärer Baum mit folgenden Eigenschaften

14. Sortieren II Heapsort. Heapsort. [Max-]Heap 7. Heapsort, Quicksort, Mergesort. Binärer Baum mit folgenden Eigenschaften Heapsort, Quicksort, Mergesort 14. Sortieren II 14.1 Heapsort [Ottman/Widmayer, Kap. 2.3, Cormen et al, Kap. 6] 397 398 Heapsort [Max-]Heap 7 Inspiration von Selectsort: Schnelles Einfügen Binärer Baum

Mehr

2. Effizienz von Algorithmen

2. Effizienz von Algorithmen Effizienz von Algorithmen 2. Effizienz von Algorithmen Effizienz von Algorithmen, Random Access Machine Modell, Funktionenwachstum, Asymptotik [Cormen et al, Kap. 2.2,3,4.2-4.4 Ottman/Widmayer, Kap. 1.1]

Mehr

Grundlagen: Algorithmen und Datenstrukturen

Grundlagen: Algorithmen und Datenstrukturen Technische Universität München Fakultät für Informatik Lehrstuhl für Effiziente Algorithmen Dr. Hanjo Täubig Tobias Lieber Sommersemester 2011 Übungsblatt 1 16. September 2011 Grundlagen: Algorithmen und

Mehr

Wiederholung. Divide & Conquer Strategie

Wiederholung. Divide & Conquer Strategie Wiederholung Divide & Conquer Strategie Binäre Suche O(log n) Rekursives Suchen im linken oder rechten Teilintervall Insertion-Sort O(n 2 ) Rekursives Sortieren von a[1..n-1], a[n] Einfügen von a[n] in

Mehr

Technische Universität München SoSe 2015 Institut für Informatik I Mai 2015 Dr. Tobias Lasser. Aufgabe 1 Rechnen mit Landau-Symbolen

Technische Universität München SoSe 2015 Institut für Informatik I Mai 2015 Dr. Tobias Lasser. Aufgabe 1 Rechnen mit Landau-Symbolen Technische Universität München SoSe 2015 Institut für Informatik I-16 27. Mai 2015 Dr. Tobias Lasser Lösungsvorschläge zur Musterklausur zu Algorithmen und Datenstrukturen Aufgabe 1 Rechnen mit Landau-Symbolen

Mehr

Datenstrukturen und Algorithmen. Christian Sohler FG Algorithmen & Komplexität

Datenstrukturen und Algorithmen. Christian Sohler FG Algorithmen & Komplexität Datenstrukturen und Algorithmen Christian Sohler FG Algorithmen & Komplexität 1 Klausur Wichtige Hinweise: 2.7.07, Beginn 9 Uhr Bitte spätestens 8:4 Uhr vor Ort sein Sporthalle + Audimax Informationen

Mehr

Algorithmen und Datenstrukturen (für ET/IT)

Algorithmen und Datenstrukturen (für ET/IT) Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 2017 Dr. Stefanie Demirci Computer Aided Medical Procedures Technische Universität München Programm heute 1 Einführung 2 Grundlagen von Algorithmen

Mehr

8. Sortieren II. 8.1 Heapsort. Heapsort. [Max-]Heap 6. Heapsort, Quicksort, Mergesort. Binärer Baum mit folgenden Eigenschaften

8. Sortieren II. 8.1 Heapsort. Heapsort. [Max-]Heap 6. Heapsort, Quicksort, Mergesort. Binärer Baum mit folgenden Eigenschaften Heapsort, Quicksort, Mergesort 8. Sortieren II 8.1 Heapsort [Ottman/Widmayer, Kap. 2.3, Cormen et al, Kap. 6] 9 210 Heapsort [Max-]Heap 6 Inspiration von Selectsort: Schnelles Einfügen Binärer Baum mit

Mehr

Heapsort, Quicksort, Mergesort. 8. Sortieren II

Heapsort, Quicksort, Mergesort. 8. Sortieren II 209 Heapsort, Quicksort, Mergesort 8. Sortieren II 210 8.1 Heapsort [Ottman/Widmayer, Kap. 2.3, Cormen et al, Kap. 6] 211 Heapsort Inspiration von Selectsort: Schnelles Einfügen Inspiration von Insertionsort:

Mehr

5. Vorrangwarteschlangen - Priority Queues

5. Vorrangwarteschlangen - Priority Queues 5. Vorrangwarteschlangen - Priority Queues Priority Queues unterstützen die Operationen Insert(), Delete(), ExtractMin(), FindMin(), DecreaseKey(), Merge(). Priority Queues per se sind nicht für IsElement()-Anfragen,

Mehr

Algorithmen II Vorlesung am

Algorithmen II Vorlesung am Algorithmen II Vorlesung am 07..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

Kapitel ADS:II. II. Algorithm Engineering

Kapitel ADS:II. II. Algorithm Engineering Kapitel ADS:II II. Algorithm Engineering Problemklassen und Lösungsstrategien Phasen des Algorithm Engineering Exkurs: Programmiersprachen Pseudocode Rekursion Maschinenmodell Laufzeitanalyse Algorithmenimplementierung

Mehr

Ordnen Sie die folgenden Funktionen nach ihrer asymptotischer Komplexität in aufsteigender Reihenfolge: i=1 4i + n = 4 n. i=1 i + 3n = 4 ( n(n+1)

Ordnen Sie die folgenden Funktionen nach ihrer asymptotischer Komplexität in aufsteigender Reihenfolge: i=1 4i + n = 4 n. i=1 i + 3n = 4 ( n(n+1) für Informatik Prof. aa Dr. Ir. Joost-Pieter Katoen Christian Dehnert, Friedrich Gretz, Benjamin Kaminski, Thomas Ströder Tutoraufgabe (Asymptotische Komplexität): Ordnen Sie die folgenden Funktionen nach

Mehr

Kostenmodell. Daniel Graf, Tobias Pröger. 22. September 2016 (aktualisierte Fassung 5 vom 9. Oktober 2016)

Kostenmodell. Daniel Graf, Tobias Pröger. 22. September 2016 (aktualisierte Fassung 5 vom 9. Oktober 2016) Kostenmodell Daniel Graf, Tobias Pröger 22. September 2016 (aktualisierte Fassung 5 vom 9. Oktober 2016) Erklärung: Diese Mitschrift ist als Ergänzung zur Vorlesung gedacht. Wir erheben keinen Anspruch

Mehr

Algorithmen I - Tutorium 28 Nr. 2

Algorithmen I - Tutorium 28 Nr. 2 Algorithmen I - Tutorium 28 Nr. 2 11.05.2017: Spaß mit Invarianten (die Zweite), Rekurrenzen / Mastertheorem und Merging Marc Leinweber marc.leinweber@student.kit.edu INSTITUT FÜR THEORETISCHE INFORMATIK

Mehr

Algorithmen und Datenstrukturen Kapitel 2: Korrektheit von Algorithmen und Laufzeitanalyse rekursiver Algorithmen (mittels Rekurrenzgleichungen)

Algorithmen und Datenstrukturen Kapitel 2: Korrektheit von Algorithmen und Laufzeitanalyse rekursiver Algorithmen (mittels Rekurrenzgleichungen) Algorithmen und Datenstrukturen Kapitel 2: und Laufzeitanalyse rekursiver Algorithmen (mittels ) Frank Heitmann heitmann@informatik.uni-hamburg.de 21. Oktober 2015 Frank Heitmann heitmann@informatik.uni-hamburg.de

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

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen 1 Algorithmen und Datenstrukturen Wintersemester 2014/15 3. Vorlesung Laufzeitanalyse Prof. Dr. Alexander Wolff Lehrstuhl für Informatik I 2 Recap: Diskutieren Sie mit Ihrer NachbarIn! 1. 2. 3. Was sind

Mehr

ADS: Algorithmen und Datenstrukturen 1

ADS: Algorithmen und Datenstrukturen 1 ADS: Algorithmen und Datenstrukturen 1 Teil 15: Fragestunde Uwe Quasthoff Institut für Informatik Abteilung Automatische Sprachverarbeitung Universität Leipzig 30. Januar 2018 [Letzte Aktualisierung: 30/01/2018,

Mehr

Datenstrukturen und Algorithmen (SS 2013)

Datenstrukturen und Algorithmen (SS 2013) Datenstrukturen und Algorithmen (SS 2013) Präsenzübung Musterlösung Dienstag, 28.05.2013 Aufgabe 1 (Allgemeine Fragen [20 Punkte]) 1. Tragen Sie in der folgenden Tabelle die Best-, Average- und Worst-Case-

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

1 Divide-and-Conquer-Algorithmen

1 Divide-and-Conquer-Algorithmen 1 Divide-and-Conquer-Algorithmen 1.1 Multiplikation ganzer Zahlen Wir multiplizieren zwei ganze Zahlen x und y, die in Binärdarstellung gegeben sind. Der Einfachheit halber nehmen wir an, die beiden Zahlen

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: dsal-i1@algo.rwth-aachen.de Webseite: http://algo.rwth-aachen.de/lehre/ss17/dsa.php

Mehr

Übersicht. Datenstrukturen und Algorithmen. Übersicht. Divide-and-Conquer. Vorlesung 9: Quicksort (K7)

Übersicht. Datenstrukturen und Algorithmen. Übersicht. Divide-and-Conquer. Vorlesung 9: Quicksort (K7) Datenstrukturen und Algorithmen Vorlesung 9: (K7) Joost-Pieter Katoen Lehrstuhl für Informatik 2 Software Modeling and Verification Group http://www-i2.rwth-aachen.de/i2/dsal0/ Algorithmus 8. Mai 200 Joost-Pieter

Mehr

Vorlesung Datenstrukturen

Vorlesung Datenstrukturen Vorlesung Datenstrukturen Weitere Grundlagen Maike Buchin 20.4.2017 Wiederholung wir interessieren uns für effizienten Algorithmen und Datenstrukturen Laufzeiten messen wir asymptotisch in der Oh-Notation

Mehr

a) Geben Sie für die folgenden Paare von Mengen jeweils die Teilmengenbeziehung mit Hilfe der Symbole, und = an. lässt sich wie folgt umformen:

a) Geben Sie für die folgenden Paare von Mengen jeweils die Teilmengenbeziehung mit Hilfe der Symbole, und = an. lässt sich wie folgt umformen: Prof. aa Dr. Ir. Joost-Pieter Katoen Datenstrukturen und Algorithmen SoSe 0 Klausur 0.09.0 Christian Dehnert Jonathan Heinen Thomas Ströder Sabrina von Styp Aufgabe (O-Notation: (9 + 4 + 7 = 0 Punkte a

Mehr

3. Suchen. Das Suchproblem. Suche in Array. Lineare Suche. 1 n. i = n Gegeben Menge von Datensätzen.

3. Suchen. Das Suchproblem. Suche in Array. Lineare Suche. 1 n. i = n Gegeben Menge von Datensätzen. Das Suchproblem Gegeben Menge von Datensätzen. 3. Suchen Beispiele Telefonverzeichnis, Wörterbuch, Symboltabelle Jeder Datensatz hat einen Schlüssel k. Schlüssel sind vergleichbar: eindeutige Antwort auf

Mehr

Algorithmen und Datenstrukturen 1 Kapitel 5

Algorithmen und Datenstrukturen 1 Kapitel 5 Algorithmen und Datenstrukturen 1 Kapitel 5 Technische Fakultät robert@techfak.uni-bielefeld.de Vorlesung, U. Bielefeld, Winter 2005/2006 Kapitel 5: Effizienz von Algorithmen 5.1 Vorüberlegungen Nicht

Mehr

Abschnitt 7: Komplexität von imperativen Programmen

Abschnitt 7: Komplexität von imperativen Programmen Abschnitt 7: Komplexität von imperativen Programmen 7. Komplexität von imperativen Programmen 7 Komplexität von imperativen Programmen Einf. Progr. (WS 08/09) 399 Ressourcenbedarf von Algorithmen Algorithmen

Mehr

Kap. 3: Sortieren (3)

Kap. 3: Sortieren (3) Kap. 3: Sortieren (3) Professor Dr. Lehrstuhl für Algorithm Engineering, LS Fakultät für Informatik, TU Dortmund 6. VO DAP2 SS 2009 30. April 2009 Überblick Quick-Sort Analyse von Quick-Sort Quick-Sort

Mehr

Algorithmen und Datenstrukturen I. Grundlagen. Prof. Dr. Oliver Braun. Fakultät für Informatik und Mathematik Hochschule München

Algorithmen und Datenstrukturen I. Grundlagen. Prof. Dr. Oliver Braun. Fakultät für Informatik und Mathematik Hochschule München Algorithmen und Datenstrukturen I Fakultät für Informatik und Mathematik Hochschule München Letzte Änderung: 18.03.2018 18:16 Inhaltsverzeichnis Algorithmus..................................... 2 Problem

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

Datenstrukturen und Algorithmen. Christian Sohler FG Algorithmen & Komplexität

Datenstrukturen und Algorithmen. Christian Sohler FG Algorithmen & Komplexität Datenstrukturen und Algorithmen Christian Sohler FG Algorithmen & Komplexität 1 Geometrisches Problem: Problem: Nächstes Paar Eingabe: n Punkte in der Ebene Ausgabe: Das Paar q,r mit geringstem Abstand

Mehr

Grundlagen: Algorithmen und Datenstrukturen

Grundlagen: Algorithmen und Datenstrukturen Grundlagen: Algorithmen und Datenstrukturen Sommersemester 2018 Tobias Lasser Computer Aided Medical Procedures Technische Universität München Multiplikation langer Zahlen Schulmethode: gegeben Zahlen

Mehr

Heapsort, Quicksort, Mergesort. 8. Sortieren II

Heapsort, Quicksort, Mergesort. 8. Sortieren II 209 Heapsort, Quicksort, Mergesort 8. Sortieren II 210 8.1 Heapsort [Ottman/Widmayer, Kap. 2.3, Cormen et al, Kap. 6] Heapsort 211 Inspiration von Selectsort: Schnelles Einfügen Inspiration von Insertionsort:

Mehr

Algorithmen und Datenstrukturen Kapitel 2: Korrektheit von Algorithmen und Laufzeitanalyse rekursiver Algorithmen (mittels Rekurrenzgleichungen)

Algorithmen und Datenstrukturen Kapitel 2: Korrektheit von Algorithmen und Laufzeitanalyse rekursiver Algorithmen (mittels Rekurrenzgleichungen) Algorithmen und Datenstrukturen Kapitel 2: und Laufzeitanalyse rekursiver Algorithmen (mittels Rekurrenzgleichungen) Frank Heitmann heitmann@informatik.uni-hamburg.de 21. Oktober 2015 Frank Heitmann heitmann@informatik.uni-hamburg.de

Mehr

Datenstrukturen und Algorithmen (SS 2013)

Datenstrukturen und Algorithmen (SS 2013) Datenstrukturen und Algorithmen (SS 2013) Übungsblatt 4 Abgabe: Montag, 13.05.2013, 14:00 Uhr Die Übungen sollen in Gruppen von zwei bis drei Personen bearbeitet werden. Schreiben Sie die Namen jedes Gruppenmitglieds

Mehr

1. Übung Algorithmentechnik

1. Übung Algorithmentechnik 1. Übung Algorithmentechnik Institut für Theoretische Informatik 04.11.2008 1/ 42 Aufgabe 1 Aufgabe (Amortisierte Analyse) Modellieren Sie eine Queue mit zwei Stacks so, dass die amortisierten Kosten von

Mehr

Komplexität von Algorithmen OOPM, Ralf Lämmel

Komplexität von Algorithmen OOPM, Ralf Lämmel Ganz schön komplex! Komplexität von Algorithmen OOPM, Ralf Lämmel 885 Motivierendes Beispiel Algorithmus Eingabe: ein Zahlen-Feld a der Länge n Ausgabe: Durchschnitt Fragen: sum = 0; i = 0; while (i

Mehr

Induktive Beweise und rekursive Definitionen

Induktive Beweise und rekursive Definitionen Induktive Beweise und rekursive Definitionen Vorlesung Logik in der Informatik, HU Berlin 1. Übungsstunde Beweis durch vollständige Induktion über N Aufgabe 1 Zeige, dass für alle n N gilt: n 2 i = 2 n+1

Mehr

Hausaufgaben. zur Vorlesung. Vollständige Induktion. 1. Beweist folgende Formeln (zu beweisen ist nur die Gleichheit mit dem. i=1 (4 + i)!

Hausaufgaben. zur Vorlesung. Vollständige Induktion. 1. Beweist folgende Formeln (zu beweisen ist nur die Gleichheit mit dem. i=1 (4 + i)! WS 015/1 Hausaufgaben zur Vorlesung Vollständige Induktion 1. Beweist folgende Formeln zu beweisen ist nur die Gleichheit mit dem! -Zeichen : a 5 + + 7 + 8 + + 4 + n n 4 + i! nn+9 b 1 + + 9 + + n 1 n 1

Mehr

SS18 Algorithmen und Datenstrukturen 9. Kapitel Divide-and-Conquer-Algorithmen

SS18 Algorithmen und Datenstrukturen 9. Kapitel Divide-and-Conquer-Algorithmen SS18 Algorithmen und Datenstrukturen 9. Kapitel Divide-and-Conquer-Algorithmen Martin Dietzfelbinger Juni 2018 FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS18 Kapitel 9 Ziele (des zweiten Teils)

Mehr

5. Übungsblatt zu Algorithmen I im SoSe 2016

5. Übungsblatt zu Algorithmen I im SoSe 2016 Karlsruher Institut für Technologie Institut für Theoretische Informatik Prof. Dr. Dennis Hofheinz Lukas Barth, Lisa Kohl 5. Übungsblatt zu Algorithmen I im SoSe 2016 https://crypto.iti.kit.edu/index.php?id=algo-sose16

Mehr

Algorithmen und Datenstrukturen I Grundlagen

Algorithmen und Datenstrukturen I Grundlagen Algorithmen und Datenstrukturen I Grundlagen Prof. Dr. Oliver Braun Letzte Änderung: 01.11.2017 14:15 Algorithmen und Datenstrukturen I, Grundlagen 1/24 Algorithmus es gibt keine präzise Definition Handlungsvorschrift

Mehr

Datenstrukturen: Mathematische Grundlagen. 26. Juli / 27

Datenstrukturen: Mathematische Grundlagen. 26. Juli / 27 Datenstrukturen: Mathematische Grundlagen 26. Juli 2015 1 / 27 Asymptotik Die Groß-Oh Notation: f = O(g) Es gibt eine positive Konstante c > 0 und eine natürliche Zahl n 0 N, so dass f (n) c g(n) für alle

Mehr

Informatik I Komplexität von Algorithmen

Informatik I Komplexität von Algorithmen Leistungsverhalten von Algorithmen Informatik I Komplexität von Algorithmen G. Zachmann Clausthal University, Germany zach@in.tu-clausthal.de Speicherplatzkomplexität: Wird primärer & sekundärer Speicherplatz

Mehr

Kapitel 2. Weitere Beispiele Effizienter Algorithmen

Kapitel 2. Weitere Beispiele Effizienter Algorithmen Kapitel 2 Weitere Beispiele Effizienter Algorithmen Sequentielle Suche Gegeben: Array a[1..n] Suche in a nach Element x Ohne weitere Zusatzinformationen: Sequentielle Suche a[1] a[2] a[3] Laufzeit: n Schritte

Mehr

Musterlösung zur 7. Übung

Musterlösung zur 7. Übung Universität des Saarlandes FR 6.2 Informatik Prof. Dr. Hans-Peter Lenhof Dipl. Inform. Andreas Hildebrandt Programmierung II, SS 2003 Musterlösung zur 7. Übung Aufgabe 1: Rekurrenz, Substitutionsmethode

Mehr