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

Größe: px
Ab Seite anzeigen:

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

Transkript

1 Übersicht Datenstrukturen und Algorithmen Vorlesung 2: (K3) Joost-Pieter Katoen Lehrstuhl für Informatik 2 Software Modeling and Verification Group April Begründung 2 Die Klasse Groß-O Die Klasse Groß-Omega Die Klasse Groß-Theta 3 Joost-Pieter Katoen Datenstrukturen und Algorithmen 1/29 Joost-Pieter Katoen Datenstrukturen und Algorithmen 2/29 Übersicht Laufzeit von Algorithmen 1 Begründung 2 Die Klasse Groß-O Die Klasse Groß-Omega Die Klasse Groß-Theta 3 Betrachte Die Laufzeit eines Algorithmus ist keine Zahl, sondern eine Funktion. Sie gibt die Laufzeit des Algorithmus für jede Eingabelänge an. Worst-Case Laufzeit Die Worst-Case Laufzeit W (n) für Eingabelänge n ist die längste Laufzeit aus allen Eingaben mit Länge n. Best-Case Laufzeit Die Best-Case Laufzeit B(n) für Eingabelänge n ist die kürzeste Laufzeit aus allen Eingaben mit Länge n. Joost-Pieter Katoen Datenstrukturen und Algorithmen 3/29 Joost-Pieter Katoen Datenstrukturen und Algorithmen 4/29

2 (I) (II) Die exakte Bestimmung der Funktionen A(n), B(n) und W (n) ist üblicherweise sehr schwierig. Außerdem: ist sie von zweifelhaftem Nutzen für Vergleiche: Ist etwa W (n) = 1021n besser als W (n) = 1 2 n2? wollen wir maschinenabhängige Konstanten (z. B. Rechnergeschwindigkeit), Initialisierungsaufwand, usw. ausklammern. Daher: Normalerweise keine exakte sondern asymptotische Betrachtung. Betrachte Wachstum der Laufzeit für n. Kurze Eingaben und konstante Faktoren werden vernachlässigt. Anschaulich: Wir lassen Glieder niedriger Ordnung weg, z. B. : W (n) = 3n 4 + 5n O(n 4 ) (d. h. n 4 ist dominierender Faktor für n ) So erhalten wir untere/obere Schranken für A(n), B(n) und W (n)! Mathematische Zutat: Asymptotische Ordnung von Funktionen. Joost-Pieter Katoen Datenstrukturen und Algorithmen 5/29 Joost-Pieter Katoen Datenstrukturen und Algorithmen 6/29 Limes inferior und Limes superior Sei (x i ) i N die Folge x 1, x 2,.... Dann: ( ) 1. lim inf x n = lim inf x m n n m n ( ) 2. lim sup x n = lim sup x m n n m n Einige Fakten n 1. Existieren lim inf x n und lim sup x n : lim inf x n n n 2. Existiert lim n x n dann: lim inf n x n = lim sup n lim sup x n. n x n = lim n x n. Übersicht 1 Begründung 2 Die Klasse Groß-O Die Klasse Groß-Omega Die Klasse Groß-Theta 3 Sind f, g differenzierbar, dann gilt lim n = lim g (n) n f (n). L Hôpital Joost-Pieter Katoen Datenstrukturen und Algorithmen 7/29 Joost-Pieter Katoen Datenstrukturen und Algorithmen 8/29

3 Die Klasse Groß-O (I) Seien f und g Funktionen von IN (Eingabelänge) nach IR 0 (Laufzeit) und c > 0. O(f ) ist die Menge von Funktionen, die nicht schneller als f wachsen. g O(f ) heißt: c ist obere Schranke für. Diese Eigenschaft gilt ab einer Konstanten n 0 ; Werte unter n 0 werden vernachlässigt. Laufzeit O n 0 c Eingabelänge n Die Klasse Groß-O liefert eine obere Schranke für die Komplexität einer Funktion. Kleinste obere Schranken sind von größtem Nutzen! g O(n 2 ) sagt mehr als g O(n 3 ). Joost-Pieter Katoen Datenstrukturen und Algorithmen 9/29 Die Klasse Groß-O (II) Definition (Die Klasse Groß-O) g O(f ) gdw. c > 0, n 0 mit n n 0 : 0 c. Definition (alternativ) g O(f ) gdw. lim sup n Theorem = c 0 mit c. Es seien f, g : IN IR zwei Funktionen. Es sei nur endlich oft = 0. Dann: lim sup n existiert gdw. c > 0, n 0 mit n n 0 : c. Joost-Pieter Katoen Datenstrukturen und Algorithmen 10/29 Die Klasse Groß-O (III) Die Klasse Groß-O (IV) Theorem Es seien f, g : IN IR zwei Funktionen. Es sei nur endlich oft = 0. Dann existiert lim sup n gdw. c > 0, n 0. n n 0 : c. Beweis. = : Sei lim sup n = c <. Für ε 0 es folgt c + ε und 0 bis auf endlich viele Ausnahmen. Ab einem n 0 IN gilt für alle n n 0 also: c + ε ; und damit: (c + ε). = : Gegeben seien nun n 0, c > 0 so dass n n 0 : c. Ab einem n 0 n 0 gilt (wie oben) außerdem 0 für alle n n 0. Damit ist n n 0 : 0 c. Die Folge a n = ist in [0, c], also beschränkt und abgeschlossen. Dann existiert lim sup n a n <. Definition g O(f ) gdw. c > 0, n 0 mit n n 0 : 0 c. Definition (alternativ) g O(f ) gdw. lim sup n Betrachte = 3n n + 6. Dann ist: = c 0 mit c. g O(n), da lim sup n /n =. g O(n 2 ), da 20n 2 für n 1. g O(n 3 ), da 1 10 n3 für n hinreichend groß. Joost-Pieter Katoen Datenstrukturen und Algorithmen 11/29 Joost-Pieter Katoen Datenstrukturen und Algorithmen 12/29

4 Die Klasse Groß-Omega (I) Die Klasse Groß-Omega (II) Ω(f ) ist die Menge von Funktionen, die nicht langsamer als f wachsen. g Ω(f ) heißt: c ist untere Schranke für. Diese Eigenschaft gilt ab einer Konstanten n 0 ; Werte unter n 0 werden vernachlässigt. Laufzeit Ω n 0 c Eingabelänge n Die Klasse Groß-Omega liefert eine untere Schranke für die Komplexität einer Funktion. Größte untere Schranken sind von größtem Nutzen! g Ω(n 2 ) sagt mehr als g Ω(n). Definition (Die Klasse Groß-Omega) g Ω(f ) gdw. c > 0, n 0 mit n n 0 : c. Definition (alternativ) g Ω(f ) gdw. lim inf n > 0. Betrachte = 3n n + 6. Dann ist: g Ω(n), da lim inf n /n = > 0. g Ω(n 2 ), da lim inf n /n 2 = 3 > 0. g Ω(n 3 ), da 5n 3 für n 2. Joost-Pieter Katoen Datenstrukturen und Algorithmen 13/29 Joost-Pieter Katoen Datenstrukturen und Algorithmen 14/29 Die Klasse Groß-Theta (I) Θ(f ) ist die Menge von Funktionen, die genauso schnell wie f wachsen. g Θ(f ) heißt: c 2 ist obere Schranke und c 1 ist untere Schranke für. Diese Eigenschaft gilt ab einer Konstanten n 0 ; Werte unter n 0 werden vernachlässigt. Laufzeit Θ n 0 c 2 c 1 Eingabelänge n Die Klasse Groß-Theta liefert eine obere und untere Schranke für die Komplexität einer Funktion. Definition (Die Klasse Groß-Theta) g Θ(f ) gdw. c 1, c 2 > 0, n 0 mit n n 0 : c 1 c 2. Joost-Pieter Katoen Datenstrukturen und Algorithmen 15/29 Die Klassen O, Ω und Θ Beziehung zwischen O, Ω und Θ g Θ(f ) gdw. g O(f ) und g Ω(f ). Lemma Funktionen, die nicht schneller als f wachsen. O(f ) g Θ(f ) wenn lim n Θ(f ) Funktionen, die genauso schnell wie f wachsen. Ω(f ) = c für ein 0 < c <. Funktionen, die nicht langsamer als f wachsen. Joost-Pieter Katoen Datenstrukturen und Algorithmen 16/29

5 Die Klasse Groß-Theta (II) Definition g Θ(f ) gdw. c 1, c 2 > 0, n 0 mit n n 0 : c 1 c 2. Lemma g Θ(f ) wenn lim n = c für ein 0 < c <. Betrachte = 3n n + 6. Dann ist: g Θ(n), da zwar g Ω(n), aber g O(n). g Θ(n 2 ), da lim n /n 2 = 3. g Θ(n 3 ), da zwar g O(n 3 ), aber g Ω(n 3 ). : Fibonacci-Zahlen Wachstum einer Kaninchenpopulation Zu Beginn gibt es ein Paar geschlechtsreifer Kaninchen. Jedes neugeborene Paar wird im zweiten Lebensmonat geschlechtsreif. Jedes geschlechtsreife Paar wirft pro Monat ein weiteres Paar. Sie sterben nie und hören niemals auf. Fib(0) = 0 und Fib(1) = 1 Fib(n+2) = Fib(n+1) + Fib(n) für n 0. n Fib(n) ( ) Fib(n) O(2 n ) und Fib(n) Ω 2 n 2 Joost-Pieter Katoen Datenstrukturen und Algorithmen 17/29 Joost-Pieter Katoen Datenstrukturen und Algorithmen 18/29 Einige elementare Eigenschaften Reflexivität f O(f ), f Ω(f ), f Θ(f ). Die folgenden 3 Aussagen sind alle gültig: (a) log a n Θ(log b n), (b) log b n Θ(log a n), (c) O(log a n) = O(log b n). Transitivität Aus f O(g) und g O(h) folgt f O(h). Aus f Ω(g) und g Ω(h) folgt f Ω(h). Aus f Θ(g) und g Θ(h) folgt f Θ(h). Symmetrie von Θ f Θ(g) gdw. g Θ(f ). Beziehung zwischen O und Ω f O(g) gdw. g Ω(f ). Beweis. Wir beweisen (c). Zu zeigen: c 1, c 2 > 0, so dass log a n c 1 log b n }{{} log a n O(log b n) und log b n c 2 log a n. }{{} log b n O(log a n) Dann: log a n c 1 log b n log a n c 1 log a n log a b log a b c 1 Wähle c 1 log a b. Analog erhalten wir log b a c 2 ; dann wähle c 2 log b a. Die Aussagen (a) und (b) folgen auf ähnliche Weise. Joost-Pieter Katoen Datenstrukturen und Algorithmen 19/29 Joost-Pieter Katoen Datenstrukturen und Algorithmen 20/29

6 Die Klassen Klein-O, Klein-Omega Übersicht o(f ) ist die Menge von Funktionen, die echt langsamer als f wachsen. Definition g o(f ) gdw. c > 0, n 0 mit n n 0 : 0 < c. ω(f ) ist die Menge von Funktionen, die echt schneller als f wachsen. Definition g ω(f ) gdw. c > 0, n 0 mit n n 0 : c <. Beziehung zwischen o und ω 1 Begründung 2 Die Klasse Groß-O Die Klasse Groß-Omega Die Klasse Groß-Theta 3 f o(g) gdw. g ω(f ). Joost-Pieter Katoen Datenstrukturen und Algorithmen 21/29 Joost-Pieter Katoen Datenstrukturen und Algorithmen 22/29 Unter der eines Problems versteht man den (minimalen) Bedarf an Speicherplatz eines Algorithmus zur Lösung dieses Problems, in Abhängigkeit von der Länge der Eingabe. Nicht nur die Zeitkomplexität, sonder auch der Speicherbedarf ist wichtig! Dilemma: Eine Reduktion der Zeitkomplexität führt oft zur Erhöhung der, und vice versa. Dies werden wir in später in der DSAL Vorlesung öfters feststellen. : von Liedern [Knuth, 1984] Betrachte eine Lied mit n Wörter, d. h. die Eingabelänge ist n. Was ist die benötigte S(n) um ein Lied der Länge n zu singen? Obere und untere Schranken 1. S(n) O(n), da höchstens n verschiedene Wörter gespeichert werden müssen. 2. S(n) Ω(1), da wir mindestens eine Sache über das Lied wissen müssen, um es singen zu können. Kann man die durch Refrains (= Kehrverse) reduzieren? Joost-Pieter Katoen Datenstrukturen und Algorithmen 23/29 Joost-Pieter Katoen Datenstrukturen und Algorithmen 24/29

7 Refrains Refrain Die Wiederkehr von textlich/musikalisch (wenigstens überwiegend) identischen Zeilen am Schluss einer Strophe oder zwischen den Strophen. Soo.. Bye, bye miss American Pie Drove me Chevy to the levee but the levee was dry Them good old boys were drinking whiskey and rye? Singing this will be the day that I die this will be the day that I die Speichere den Refrain einmal und singe ihn O(n) Mal. [Don McLean] Dann: S(n) O(n), da die Anzahl der Wörter immer noch O(n) ist; z. B. bei Strophelänge = Refrainlänge halbiert sich der Speicherbedarf. Joost-Pieter Katoen Datenstrukturen und Algorithmen 25/29 Die k Weihnachtstage Reduktion der Reduziere S(n) durch eine bestimmte, sich ändernde Liedstruktur, etwa: On the kth day of Xmas, my true love gave to me gift k, gift k 1,..., gift 1 On the (k 1)st day of Xmas, my true love gave to me gift k 1,..., gift 1 On the first day of Xmas, my true love gave to me a bottle of wine Bekanntere Variante: Old MacDonald had a farm. Die benötigte Zeit, um das Lied zu singen ist (betrachte keine Refrains): n = k ( ) k + 1 i = k Θ(k 2 ) 2 i=1 Da n Θ(k 2 ) folgt k O( n), also S(n) ( n). Joost-Pieter Katoen Datenstrukturen und Algorithmen 26/ Bierflaschen Untere Schranke? Eine weitere Vereinfachung Ein (sehr) langweiliges Lied für lange Autofahrten: n bottles of beer on the wall, n bottles of beer You take one down and pass it around n 1 bottles of beer on the ball [Andy Kaufman] S(n) O(log n), da nur der Wert von n von Bedeutung ist. Dafür reichen log n Bits aus. Ein Lied mit S(n) Θ(1) That s the way, uh-huh, uh-huh I like it, uh-huh, huh [KC & the Sunshine Band, 1977] Es geht jedoch noch etwas einfacher, nämlich indem man auf das Zählen verzichtet. Joost-Pieter Katoen Datenstrukturen und Algorithmen 27/29 Joost-Pieter Katoen Datenstrukturen und Algorithmen 28/29

8 Nächste Vorlesung Nächste Vorlesung Donnerstag 16. April, 10:15 (Aula Hauptgebäude). Bis dann! Joost-Pieter Katoen Datenstrukturen und Algorithmen 29/29

1 for ( int index = 0; index < n; index ++) { 3 if ( E[ index1 ] == K) { x++ }

1 for ( int index = 0; index < n; index ++) { 3 if ( E[ index1 ] == K) { x++ } Organisatorisches VL-02: Asymptotische Effizienz (Datenstrukturen und Algorithmen, SS 2017) Gerhard Woeginger Vorlesung: Gerhard Woeginger (Zimmer 4024 im E1) Sprechstunde: Mittwoch 11:15 12:00 Übungen:

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

Ü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

V. Claus, Juli 2005 Einführung in die Informatik II 45

V. Claus, Juli 2005 Einführung in die Informatik II 45 Um die Größenordnung einer reellwertigen oder ganzzahligen Funktion zu beschreiben, verwenden wir die so genannten Landau-Symbole (nach dem deutschen Mathematiker Edmund Landau, 1877-1938). Hierbei werden

Mehr

Übung Algorithmen und Datenstrukturen

Übung Algorithmen und Datenstrukturen Übung Algorithmen und Datenstrukturen Sommersemester 2015 Marc Bux, Humboldt-Universität zu Berlin Organisation Vorlesung: Montag 11 13 Uhr Ulf Leser RUD 26, 0 115 Mittwoch 11 13 Uhr Ulf Leser RUD 26,

Mehr

Übung Algorithmen & Datenstrukturen

Übung Algorithmen & Datenstrukturen Übung lgorithmen & Datenstrukturen SS 2016 Kim Völlinger Übungstermine: Montag 09:00-11:00 RUD 26, 1'303, Marc Bux Montag 13:00-15:00 RUD 26, 1'305, Marc Bux Montag 13:00-15:00 RUD 26, 1'303, Florian Tschorsch

Mehr

Übung Algorithmen und Datenstrukturen

Übung Algorithmen und Datenstrukturen Übung Algorithmen und Datenstrukturen Sommersemester 2017 Marc Bux, Humboldt-Universität zu Berlin Organisatorisches Vorlesung: Montag 11 13 Uhr Ulf Leser RUD 26, 0 115 Mittwoch 11 13 Uhr Ulf Leser RUD

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 und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 2014 / 2015 Vorlesung 3, Donnerstag 6.

Algorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 2014 / 2015 Vorlesung 3, Donnerstag 6. Algorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 2014 / 2015 Vorlesung 3, Donnerstag 6. November 2014 (O-Notation, Theta, Omega) Junior-Prof. Dr. Olaf Ronneberger

Mehr

Übung Algorithmen und Datenstrukturen

Übung Algorithmen und Datenstrukturen Übung Algorithmen und Datenstrukturen Sommersemester 2017 Marc Bux, Humboldt-Universität zu Berlin Agenda 1. Die Landau-Notation (Wiederholung und Vertiefung) 2. Vorbereitung Aufgabenblatt 1, Aufgabe 1

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

WS 2009/10. Diskrete Strukturen

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

Mehr

Notation für das asymptotische Verhalten von Funktionen

Notation für das asymptotische Verhalten von Funktionen Vorbemerkungen: Notation für das asymptotische Verhalten von Funktionen 1. Aussagen über die Komplexität von Algorithmen und von Problemen sollen (in der Regel) unabhängig von speziellen Maschinenmodellen

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

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

Übung Algorithmen und Datenstrukturen

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

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

Datenstrukturen, Algorithmen und Programmierung 2

Datenstrukturen, Algorithmen und Programmierung 2 Datenstrukturen, Algorithmen und Programmierung 2 Professor Dr. Lehrstuhl für Algorithm Engineering, LS11 Fakultät für Informatik, TU Dortmund 2. VO SS 2009 16. April 2009 1 Überblick Asymptotische Schranken

Mehr

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

Ü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

Asymptotik und Laufzeitanalyse

Asymptotik und Laufzeitanalyse und Vorkurs Informatik SoSe13 08. April 2013 und Algorithmen = Rechenvorschriften Wir fragen uns: Ist der Algorithmus effizient? welcher Algorithmus löst das Problem schneller? wie lange braucht der Algorithmus

Mehr

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

Übersicht. Datenstrukturen und Algorithmen. Die Teile-und-Beherrsche-Methode. Übersicht. Vorlesung 3: Rekursionsgleichungen (K4) Datenstrukturen und Algorithmen Vorlesung 3: (K4) 1 e für rekursive Algorithmen Prof. Dr. Erika Ábrahám 2 Theorie Hybrider Systeme Informatik 2 http://ths.rwth-aachen.de/teaching/ss-14/ datenstrukturen-und-algorithmen/

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

Ü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

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 Jeremias Weihmann Sommersemester 2014 Übungsblatt 2 28. April 2014 Grundlagen: Algorithmen und

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

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

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

es gibt Probleme, die nicht berechenbar sind (z.b. Menge aller Funktionen N N und die Menge aller Sprachen sind überabzählbar)

es gibt Probleme, die nicht berechenbar sind (z.b. Menge aller Funktionen N N und die Menge aller Sprachen sind überabzählbar) Komplexitätstheorie es gibt Probleme, die nicht berechenbar sind (z.b. Menge aller Funktionen N N und die Menge aller Sprachen sind überabzählbar) andere Probleme sind im Prinzip berechenbar, möglicherweise

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

Komplexität. G. Zachmann Clausthal University, Germany Leistungsverhalten von Algorithmen

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

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

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

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

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

HEUTE. Beispiele. O-Notation neue Einführung Ideen und Eigenschaften Aufgaben 47 und 52

HEUTE. Beispiele. O-Notation neue Einführung Ideen und Eigenschaften Aufgaben 47 und 52 11.02.04 1 HEUTE 11.02.04 3 Beispiele 2, 2 2, 2 +, 1 2 2 log habe asymptotisch gleiches Wachstum: O-Notatio eue Eiführug Idee ud Eigeschafte Aufgabe 47 ud 2 Aufteilugs- ud Beschleuigugssatz Idee ud Awedug

Mehr

Einführung in die Informatik 2

Einführung in die Informatik 2 Einführung in die Informatik 2 Mathematische Grundbegriffe Sven Kosub AG Algorithmik/Theorie komplexer Systeme Universität Konstanz E 202 Sven.Kosub@uni-konstanz.de Sprechstunde: Freitag, 12:30-14:00 Uhr,

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

Datenstrukturen und Algorithmen

Datenstrukturen und Algorithmen Joost-Pieter Katoen Datenstrukturen und Algorithmen 1/54 Datenstrukturen und Algorithmen Vorlesung 1: Algorithmische Komplexität Joost-Pieter Katoen Lehrstuhl für Informatik 2 Software Modeling and Verification

Mehr

Übersicht. Datenstrukturen und Algorithmen. Übersicht. Motivation. Vorlesung 10: Binäre Suchbäume

Übersicht. Datenstrukturen und Algorithmen. Übersicht. Motivation. Vorlesung 10: Binäre Suchbäume Übersicht Datenstrukturen und lgorithmen Vorlesung : Joost-Pieter Katoen Lehrstuhl für Informatik 2 Software Modeling and Verification Group http://moves.rwth-aachen.de/teaching/ss-/dsal/ 1 Suche Einfügen

Mehr

Übersicht. Datenstrukturen und Algorithmen. Das Rechenproblem: kürzeste Pfade. Übersicht. Vorlesung 17: Kürzeste Pfade (K24) Bellman-Ford Dijkstra

Übersicht. Datenstrukturen und Algorithmen. Das Rechenproblem: kürzeste Pfade. Übersicht. Vorlesung 17: Kürzeste Pfade (K24) Bellman-Ford Dijkstra Datenstrukturen und Algorithmen Vorlesung 17: (K) Joost-Pieter Katoen Lehrstuhl für Informat Software Modeling and Verification Group http://moves.rwth-aachen.de/teaching/ss-15/dsal/ 1. Juni 15 1 Joost-Pieter

Mehr

Zunächst ein paar einfache "Rechen"-Regeln: Lemma, Teil 1: Für beliebige Funktionen f und g gilt:

Zunächst ein paar einfache Rechen-Regeln: Lemma, Teil 1: Für beliebige Funktionen f und g gilt: Der Groß-O-Kalkül Zunächst ein paar einfache "Rechen"-Regeln: G. Zachmann Informatik 1 - WS 05/06 Komplexität 22 Additionsregel Lemma, Teil 1: Für beliebige Funktionen f und g gilt: Zu beweisen: nur das

Mehr

2. Grundlagen. Beschreibung von Algorithmen durch Pseudocode. Korrektheit von Algorithmen durch Invarianten.

2. Grundlagen. Beschreibung von Algorithmen durch Pseudocode. Korrektheit von Algorithmen durch Invarianten. 2. Grundlagen Beschreibung von Algorithmen durch Pseudocode. Korrektheit von Algorithmen durch Invarianten. Laufzeitverhalten beschreiben durch O-Notation. 1 Beispiel Minimum-Suche Eingabe bei Minimum

Mehr

Algorithmik Kap. 2: Laufzeit von Algorithmen

Algorithmik Kap. 2: Laufzeit von Algorithmen 1. Motivation 1.1 Fallstudie: Sortieralgorithmen 1.2 Fallstudie: Selektionsalgorithmen 2. Laufzeit von Algorithmen 2.1 Grundlagen 2.2 3. Paradigmen des Algorithmenentwurfs 3.1 Dynamisches Programmieren

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

Klausur Algorithmen und Datenstrukturen

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

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

2 Asymptotische Schranken

2 Asymptotische Schranken Asymptotische Schrake Sowohl die Laufzeit T () als auch der Speicherbedarf S() werde meist durch asymptotische Schrake agegebe. Die Kostate c i, welche i der Eiführug deiert wurde, sid direkt vo der Implemetatio

Mehr

Einführung in die Programmierung

Einführung in die Programmierung Skript zur Vorlesung: Einführung in die Programmierung WiSe 2009 / 2010 Skript 2009 Christian Böhm, Peer Kröger, Arthur Zimek Prof. Dr. Christian Böhm Annahita Oswald Bianca Wackersreuther Ludwig-Maximilians-Universität

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

Übung zu Algorithmen und Datenstrukturen (für ET/IT)

Übung zu Algorithmen und Datenstrukturen (für ET/IT) Übung zu Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 2017 Rüdiger Göbl, Mai Bui Computer Aided Medical Procedures Technische Universität München Fibonacci Zahlen Fibonacci Folge Die Fibonacci

Mehr

Übung zu Algorithmen und Datenstrukturen (für ET/IT)

Übung zu Algorithmen und Datenstrukturen (für ET/IT) Übung zu Algorithmen und Datenstrukturen (für ET/IT) Wintersemester 2012/13 Jakob Vogel Computer-Aided Medical Procedures Technische Universität München Komplexität von Programmen Laufzeit kann näherungsweise

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

Informatik I Komplexität von Algorithmen

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

Mehr

1,2,3,4,5,... Dabei ist die Reihenfolge wichtig, jede Zahl hat also ihre feste Position. Die Folge 2,1,4,3,... ist eine andere als 1,2,3,4,...

1,2,3,4,5,... Dabei ist die Reihenfolge wichtig, jede Zahl hat also ihre feste Position. Die Folge 2,1,4,3,... ist eine andere als 1,2,3,4,... 9 Folgen Eine (unendliche) Folge im herkömmlichen Sinn entsteht durch Hintereinanderschreiben von Zahlen, z.b.: 1,2,3,4,5,... Dabei ist die Reihenfolge wichtig, jede Zahl hat also ihre feste Position.

Mehr

Algorithmen und Datenstrukturen Kapitel 1 Algorithmen & Algorithmenanalyse

Algorithmen und Datenstrukturen Kapitel 1 Algorithmen & Algorithmenanalyse Algorithmen und Datenstrukturen Kapitel 1 Algorithmen & Frank Heitmann heitmann@informatik.uni-hamburg.de 14. Oktober 2015 Frank Heitmann heitmann@informatik.uni-hamburg.de 1/48 Der Sprung ins Wasser...

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

Komplexität von Algorithmen

Komplexität von Algorithmen Komplexität von Algorithmen Prof. Dr. Christian Böhm WS 07/08 in Zusammenarbeit mit Gefei Zhang http://www.dbs.informatik.uni-muenchen.de/lehre/nfinfosw Ressourcenbedarf - Größenordnungen Prozesse verbrauchen

Mehr

Wann sind Codes eindeutig entschlüsselbar?

Wann sind Codes eindeutig entschlüsselbar? Wann sind Codes eindeutig entschlüsselbar? Definition Suffix Sei C ein Code. Ein Folge s {0, 1} heißt Suffix in C falls 1 c i, c j C : c i = c j s oder 2 c C und einen Suffix s in C: s = cs oder 3 c C

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

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

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

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

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

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

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

3.3 Laufzeit von Programmen

3.3 Laufzeit von Programmen 3.3 Laufzeit von Programmen Die Laufzeit eines Programmes T(n) messen wir als die Zahl der Befehle, die für die Eingabe n abgearbeitet werden Betrachten wir unser Programm zur Berechnung von Zweierpotenzen,

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

Algorithmen und Datenstrukturen Kapitel 1 Algorithmen & Algorithmenanalyse

Algorithmen und Datenstrukturen Kapitel 1 Algorithmen & Algorithmenanalyse Algorithmen und Datenstrukturen Kapitel 1 Algorithmen & Frank Heitmann heitmann@informatik.uni-hamburg.de 14. Oktober 2015 Frank Heitmann heitmann@informatik.uni-hamburg.de 1/48 Der Sprung ins Wasser...

Mehr

Tutorium 23 Grundbegriffe der Informatik (9. Sitzung)

Tutorium 23 Grundbegriffe der Informatik (9. Sitzung) Tutorium 23 Grundbegriffe der Informatik (9. Sitzung) Tutor: Felix Stahlberg SOFTWARE DESIGN AND QUALITY GROUP Source: pixelio.de KIT The cooperation of Forschungszentrum Karlsruhe GmbH and Universität

Mehr

Programmierung 1 (Wintersemester 2012/13) Lösungsblatt 10 (Kapitel 11)

Programmierung 1 (Wintersemester 2012/13) Lösungsblatt 10 (Kapitel 11) Fachrichtung 6.2 Informatik Universität des Saarlandes Tutorenteam der Vorlesung Programmierung 1 Programmierung 1 (Wintersemester 2012/13) Lösungsblatt 10 (Kapitel 11) Hinweis: Dieses Übungsblatt enthält

Mehr

1.3 Knuth-Morris-Pratt-Algorithmus

1.3 Knuth-Morris-Pratt-Algorithmus 1.3 Knuth-Morris-Pratt-Algorithmus Präprozessing bestimmt längste Ränder der Präfixe von P Die Kenntnis der Ränder erspart Vergleiche bei periodischen Suchwörtern Laufzeit: Θ(m) für das Präprozessing,

Mehr

Vorlesung Datenstrukturen

Vorlesung Datenstrukturen Vorlesung Datenstrukturen Einleitung und Grundlagen Maike Buchin 18.4.2017 Verantwortliche Dozentin Organisation der Übungen Übungsleiter Korrekteure Maike Buchin Maike.Buchin@rub.de Raum NA 1/70 Sprechzeiten:

Mehr

Kapitel 6. Komplexität von Algorithmen. Xiaoyi Jiang Informatik I Grundlagen der Programmierung

Kapitel 6. Komplexität von Algorithmen. Xiaoyi Jiang Informatik I Grundlagen der Programmierung Kapitel 6 Komplexität von Algorithmen 1 6.1 Beurteilung von Algorithmen I.d.R. existieren viele Algorithmen, um dieselbe Funktion zu realisieren. Welche Algorithmen sind die besseren? Betrachtung nicht-funktionaler

Mehr

Theoretische Informatik 1

Theoretische Informatik 1 Theoretische Informatik 1 Teil 2 Bernhard Nessler Institut für Grundlagen der Informationsverabeitung TU Graz SS 2007 Übersicht 1 Codierung, Gödelisierung Paare, Tupel, Listen Überabzählbarkeit 2 Ist universell?

Mehr

Minimale Spannbäume. Übersicht. 1 Spannbäume. 2 Minimale Spannbäume. 3 Greedy Algorithmen. 4 Die Algorithmen von Kruskal und Prim

Minimale Spannbäume. Übersicht. 1 Spannbäume. 2 Minimale Spannbäume. 3 Greedy Algorithmen. 4 Die Algorithmen von Kruskal und Prim Datenstrukturen und Algorithmen Vorlesung 16: (K23) Joost-Pieter Katoen Lehrstuhl für Informatik 2 Software Modeling and Verification Group http://moves.rwth-aachen.de/teaching/ss-1/dsal/ 12. Juni 201

Mehr

Abschnitt 18: Effizientes Suchen in Mengen

Abschnitt 18: Effizientes Suchen in Mengen Abschnitt 18: Effizientes Suchen in Mengen 18. Effizientes Suchen in Mengen 18.1 Vollständig ausgeglichene binäre Suchbäume 18.2 AVL-Bäume 18.3 Operationen auf AVL-Bäumen 18.4 Zusammenfassung 18 Effizientes

Mehr

1 Asymptotische Notation

1 Asymptotische Notation In diesem Kapitel wollen wir die Grundlagen der asymptotischen Notation vermitteln. Diese ist ein wichtiges Werkzeug zur Betrachtung der Effizienz eines Algorithmus. 1.1 Grundlagen und einleitende Beispiele

Mehr

Algorithmen und Datenstrukturen 1-1. Seminar -

Algorithmen und Datenstrukturen 1-1. Seminar - Algorithmen und Datenstrukturen 1-1. Seminar - Dominic Rose Bioinformatics Group, University of Leipzig Wintersemester 2009/10 Inhalt der ersten beiden Vorlesungen Algorithmenbegriff Komplexität, Asymptotik

Mehr

Algorithmen für die Speicherhierarchie

Algorithmen für die Speicherhierarchie und : Obere und n [Aggarwal, Vitter 1988] Lehrstuhl für Effiziente Algorithmen Fakultät für Informatik Technische Universität München Vorlesung 22. Oktober 2007 k-wege Merge Verschmelzen und I/O eispiel

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 5 14. Juni 2011 Grundlagen: Algorithmen und Datenstrukturen

Mehr

Algorithmen und Datenstrukturen Tutorium I

Algorithmen und Datenstrukturen Tutorium I Algorithmen und Datenstrukturen Tutorium I 20. - 25. 04. 2016 AlgoDat - Tutorium I 1 1 Organisatorisches Kontakt 2 Landau-Notation Definiton von O Logarithmen Gesetze & Ableitung Satz von l Hôpital 3 Algorithmen

Mehr

Kapitel 1. Exakte Suche nach einem Wort. R. Stiebe: Textalgorithmen, WS 2003/04 11

Kapitel 1. Exakte Suche nach einem Wort. R. Stiebe: Textalgorithmen, WS 2003/04 11 Kapitel 1 Exakte Suche nach einem Wort R. Stiebe: Textalgorithmen, WS 2003/04 11 Überblick Aufgabenstellung Gegeben: Text T Σ, Suchwort Σ mit T = n, = m, Σ = σ Gesucht: alle Vorkommen von in T Es gibt

Mehr

Master-Veranstaltung Funktionale Programmierung. Effizienz. Wintersemester 2007/2008 Kim Kirchbach (Inf6310) Mirco Schenkel (Inf6311)

Master-Veranstaltung Funktionale Programmierung. Effizienz. Wintersemester 2007/2008 Kim Kirchbach (Inf6310) Mirco Schenkel (Inf6311) Master-Veranstaltung Funktionale Programmierung Effizienz Wintersemester 2007/2008 Kim Kirchbach (Inf6310) Mirco Schenkel (Inf6311) Inhalt Lazy Evaluation Komplexität Parameterakkumulation Tupling Speicherplatz

Mehr

Effiziente Algorithmen (SS2015)

Effiziente Algorithmen (SS2015) Effiziente Algorithmen (SS205) Kapitel 5 Approximation II Walter Unger Lehrstuhl für Informatik 2.06.205 07:59 5 Inhaltsverzeichnis < > Walter Unger 5.7.205 :3 SS205 Z Inhalt I Set Cover Einleitung Approximation

Mehr

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

13 (2-4)-Bäume Implementierbare Funktionen. (2-4)-Bäume sind durch folgende Eigenschaften deniert: 1. Alle Äste sind gleich lang 13 (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

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 2010

Mehr

Babeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005. Rekursion

Babeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005. Rekursion Babeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005 Rekursion Rekursion Neue Denkweise Wikipedia: Als Rekursion bezeichnet man den Aufruf

Mehr

Übersicht. Datenstrukturen und Algorithmen. Einführung (II) Einführung (I) Vorlesung 12: Hashing I (K11) Counting Sort. Joost-Pieter Katoen

Übersicht. Datenstrukturen und Algorithmen. Einführung (II) Einführung (I) Vorlesung 12: Hashing I (K11) Counting Sort. Joost-Pieter Katoen Übersicht Datenstrukturen und Algorithen Vorlesung 2: (K) Joost-Pieter Katoen Lehrstuhl für Inforatik 2 Software Modeling and Verification Group https://oves.rwth-aachen.de/teaching/ss-8/dsal/ 4. Juni

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

Die Topologie von R, C und R n

Die Topologie von R, C und R n Die Topologie von R, C und R n Für R haben wir bereits eine Reihe von Strukturen kennengelernt: eine algebraische Struktur (Körper), eine Ordnungsstruktur und eine metrische Struktur (Absolutbetrag, Abstand).

Mehr

2. Algorithmische Methoden 2.1 Rekursion. 18. April 2017

2. Algorithmische Methoden 2.1 Rekursion. 18. April 2017 2. Algorithmische Methoden 2.1 Rekursion 18. April 2017 Rekursiver Algorithmus Ein rekursiver Algorithmus löst ein Problem, indem er eine oder mehrere kleinere Instanzen des gleichen Problems löst. Beispiel

Mehr

Asymptotische Notationen

Asymptotische Notationen Foliesatz 2 Michael Brikmeier Techische Uiversität Ilmeau Istitut für Theoretische Iformatik Sommersemester 29 TU Ilmeau Seite 1 / 42 Asymptotische Notatioe TU Ilmeau Seite 2 / 42 Zielsetzug Igoriere vo

Mehr

1 Minimumssuche k = n Maximumssuche n. Median

1 Minimumssuche k = n Maximumssuche n. Median Kapitel 1 Einführung Anhand des folgenden Problems soll deutlich gemacht werden, welche Schwierigkeiten beim Vergleich verschiedener Lösungsansätze auftreten können, um dann einige sinnvolle Kriterien

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