Algorithmen und Datenstrukturen 4. Vorlesung

Größe: px
Ab Seite anzeigen:

Download "Algorithmen und Datenstrukturen 4. Vorlesung"

Transkript

1 Algorithmen und Datenstrukturen 4 Vorlesung Karl-Heinz Niggl 25 April 26 FG KTuEA, TU Ilmenau AuD Lösen von Rekursionsgleichungen Die worst-case Laufzeit T A eines rekursiven Algorithmus A ist oft als Rekursion beschreibbar Def Eine totalgeordnete Menge (U, ) heißtwohlgeordnet, falls es keine -absteigenden Folgen u u u 2 gibt Bsp (N,<) ist eine wohlgeordnete Menge Def Eine Rekursion auf einer Wohlordnung (U, ) ist eine Funktion f : U V, die folgende Rekursionsgleichung erfüllt: f(u) = h(u, f(v) v u ) für u U Dabei ist h eine bereits definierte Funktion, die neben dem Rekursionsargument u auf beliebige Vorgängerwerte zurückgreifen darf, dh auf Werte f(v) mit v u FG KTuEA, TU Ilmenau AuD Lösen von Rekursionsgleichungen 2 Bsp ) Die Fibonacci-Funktion fib: N N { n falls n=, fib(n)= fib(n ) + fib(n 2) sonst 2) Die Laufzeit T(n) von merge-sort: { Θ() falls n= T(n)= T( n 2 ) + T( n 2 ) + Θ(n) sonst 3) Jede primitiv rekursive Funktion f : N k+ N: f(, y) = g( y) f(x+, y) = h(x, y,f(x, y)) 4) Die Ackermannfunktion (vgl Standard-Lehrbuch) Lösen von Rekursionsgleichungen 3 Die 3-stellige Ackermannfunktion A: N 3 N ist durch eine zweifache Rekursion (Hauptrekursionnachn undnebenrekursion nach y) definiert: A(,x,y) = y + x falls n = A(n +,x,) = falls n = falls n > A(n +,x,y + ) = A(n,x,A(n +,x,y)) Bem ) A ist nicht primitiv rekursiv wird später in AT oder AKKT bewiesen 2) Aber jeder n-te Ackermannsche Zweig A n : N 2 N, A n (x,y):=a(n, x, y), ist primitiv rekursiv FG KTuEA, TU Ilmenau AuD FG KTuEA, TU Ilmenau AuD

2 Lösen von Rekursionsgleichungen 4 Ziele: ) Die Rekursionsbaum-Methode: Liefert ia eine gute Vermutungüberdie asymptotische LösungeinerRekursion 2) Induktionsbeweise für solche (korrekten) Vermutungen 3) Die Variablensubstitutionsmethode 4) Die Iterationsmethode: Wie Rekursionsbaum-Methode 5) Das Master-Theorem: Liefertasymptotische Lösungenfür Rekursionen der Gestalt: T(n) = a T(n/b) + f(n) wobei a, b > und n/b für n b oder n b steht Lösen von Rekursionsgleichungen 5 Zulässige Vernachlässigungen beim Formulieren und Lösen von Rekursionen T(n) = a T(n/b) + f(n): ) T(n) ist für n R + definiert Insb vernachlässige, 2) Man kann stets annehmen: T(n) = Θ() für hinreichend kleine n Man kann also Rekursionen wie folgt angeben: T(n) = a T(n/b) + f(n) Grund: Uns interessieren lediglich asymptotische Lösungen T(n) = Θ(g(n)) oder T(n) = O(g(n)) Eine exakte Angabe von T(n) für hinreichend kleine n verändert nicht die Wachstumsordnung von T(n) FG KTuEA, TU Ilmenau AuD FG KTuEA, TU Ilmenau AuD Lösen von Rekursionsgleichungen 6 Bsp ) T(n) = 2 T( n 2 ) + n Wegen Ähnlichkeit zur Rekursionsgl bei merge-sort: Vermutung: T(n)=O(n log n) Zeige: () T(n) c n log n für c > und n n geeignet Wertverlaufsinduktion Sei n n beliebig (n noch offen) und gelte die IV für n/2 n (c> noch offen) Dann gilt: T(n) 2 (c n 2 log n 2 ) + n nach ) und IV c n log n 2 + n nach m m, Mono = c n log n c n log 2 + n nach log-regeln c n log n für jedes c Lösen von Rekursionsgleichungen 7 Fage: Was ist nun n bzw c>? Jedenfalls wird () T(n) c n log n falsch für n =, denn: T() = c log, da log = Aber für n=2,3 gilt schon (), denn für n = 2 gilt T(2) = 2 T() + 2 nach ) c 2 log 2 für c T() + und für n=3 folgt () aus T(3)=3 T() + 3 c 3 log 3 für c T() + Also setze n :=2, c:=t() + und () ist bewiesen FG KTuEA, TU Ilmenau AuD FG KTuEA, TU Ilmenau AuD

3 Lösen von Rekursionsgleichungen 8 Bsp 2) Feinheiten: Manchmal vermutet man eine richtige asymptotische Lösung einer gegebenen Rekursion, aber der Induktionsbeweis geht nicht durch Betrachte zb: (2) T(n) = T( n/2 ) + T( n/2 ) + Man vermutet richtig: T(n)=O(n) Aber der Induktionsbeweis für T(n) c n scheitert für jedes c > und n Denn (2) und die IV liefern nur: T(n) c n/2 + c n/2 + = c n + nach Blatt 3 Was nun? Lösen von Rekursionsgleichungen 9 Bsp 2) Lösung: Man beweist eine verschärfte Aussage: n n : T(n) c n d für c,d > und n geeignet Wertverlaufsind Sei n n beliebig (n noch offen) und gelte die IV für n/2, n/2 n (c,d noch offen) Dann gilt: T(n) (c n/2 d) + (c n/2 d) + nach (2), IV = c n 2d + nach Blatt 3 c n d für jedes d Was ist nun n? Wähle n := 2, denn für n=2 gilt: T(2) = 2 T() + c 2 d für T() + d+ 2 c Dies legt auch c> fest, fertig FG KTuEA, TU Ilmenau AuD FG KTuEA, TU Ilmenau AuD Lösen von Rekursionsgleichungen Bsp 3) Variablensubstitution: Hilft manchmal, um eine Lösung aus einer schon bekannten Lösung zu gewinnen ZB: (3) T(n) = 2 T( n) + log n Für m := log n erhalten wir aus (3) die Gleichung T(2 m ) = 2 T(2 m 2 ) + m Setzt man S(m) := T(2 m ), so erhält man die Rekursion: S(m) = 2 S(m/2) + m Nach Bsp ) gilt S(m) = O(m log m) Also erhalten wir: T(n)=T(2 m )=S(m)=O(m log m)=o(log n log(log n)) Lösen von Rekursionsgleichungen Bsp 4) Iterationsmethode: Falte schrittweise die gegebene Rekursion aus und führe Buch über die Kosten ZB: T(n) = n + 3 T(n/4) Schritt = n + 3 (n/4 + 3 T(n/6)) 2 Schritt = n n + 32 T(n/42 ) Ausrechnen = n n + 32 ( n + 3 T( n )) 3 Schritt = n n + (3 4 )2 n T( n ) Ausrechnen 4 3??? n ( 3 4 )i < n ( 3 4 )i geom Reihe i log 4 n = n 3/4 i= = O(n) Wissen! Wegen T(n) n gilt sogar T(n) = Θ(n) FG KTuEA, TU Ilmenau AuD FG KTuEA, TU Ilmenau AuD 25426

4 Lösen von Rekursionsgleichungen 2 Lösen von Rekursionsgleichungen 3 Bsp 5) Rekursionsbaum-Methode: Liefert ia eine gute Vermutung über die asymptotische Lösung einer Rekursion Def Sei T(n) = eine Rekursion Der Rekursionsbaum für T(n) entstehe durch maximales Ausfalten von T(n) mit: Jeder innere Knoten ist mit den Kosten des zugehörigen rekursiven Aufrufs beschriftet Jedes Blatt ist mit den konstanten Kosten Θ() für genügend kleine Problemgrößen beschriftet Summe derkostenallerstufen=gesamtkostenderrekursion T(n) Dies führt (ia nach Vereinfachung) zu einer guten Vermutung über die Lösung für T(n) Bsp T(n) = 3 T(n/4) + T(n) FG KTuEA, TU Ilmenau AuD FG KTuEA, TU Ilmenau AuD Lösen von Rekursionsgleichungen 4 Bsp T(n) = 3 T(n/4) + Lösen von Rekursionsgleichungen 5 Bsp T(n) = 3 T(n/4) + T( n 4 ) T(n 4 ) T( n 4 ) 3 6 cn2 2 T( n 6 ) T( n 6 ) T( n 6 ) T( n 6 ) T( n 6 ) T( n T( n 6 ) T( n 6 ) T( n 6 ) 6 ) FG KTuEA, TU Ilmenau AuD FG KTuEA, TU Ilmenau AuD

5 Lösen von Rekursionsgleichungen 6 Bsp T(n) = 3 T(n/4) + Lösen von Rekursionsgleichungen 7 c( n 4 )2 3 6 cn2 3 6 cn2 2 c( n 6 )2 c( n 6 )2 c( n 6 )2 c( n 6 )2 c( n 6 )2 c( n 6 )2 c( n 6 )2 c( n 6 )2 c( n 6 )2 ( 3 6 )2 2 c( n 6 )2 c( n 6 )2 c( n 6 )2 c( n 6 )2 c( n 6 )2 c( n 6 )2 c( n 6 )2 c( n 6 )2 c( n 6 )2 ( 3 6 )2? T()T()T()T()T()T()T()T() T()T()T() T()T()T()T() Θ(n log4(3) )? T()T()T()T()T()T()T()T() T()T()T() T()T()T()T() Θ(n log4(3) ) Stufe i d=baumtiefe besteht aus 3 i Knoten (vgl Blatt 4) Kosten pro Knoten auf Stufe i < d: c ( n 4 i ) 2 = c n2 6 i = Kosten auf Stufe i < d: 3 i c n2 6 i = ( 3 6 )i FG KTuEA, TU Ilmenau AuD FG KTuEA, TU Ilmenau AuD ? Lösen von Rekursionsgleichungen 8 c( n 6 )2 c( n 6 )2 c( n 6 )2 c( n 6 )2 c( n 6 )2 c( n 6 )2 c( n 6 )2 c( n 6 )2 T()T()T()T()T()T()T()T() c( n 4 )2 c( n 6 )2 T()T()T() T()T()T()T() Stufe d: Problemgröße n= wird erreicht für d=log 4 n = Stufe d besteht aus n log 4 3 Knoten (vgl Blatt 4) = Kosten auf Stufe d: c n log 4 3 = Θ(n log 4 3 ) 3 6 cn2 ( 3 6 )2 Θ(n log4(3) ) Lösen von Rekursionsgleichungen 9 = Gesamtkosten von T(n) bei (log 4 n) + Stufen: T(n) = ( 3 6 )i cn2 + Θ(n log 4 3 ) i<log 4 n < cn2 6 )i + Θ(n log 4 3 ) ( 3 i= = 3/6 + Θ(nlog 4 3 ) = Θ(n 2 ) = Vermutung: T(n) = O(n 2 ) Wir zeigen: T(n) d n 2 für n 4 und d> geeignet FG KTuEA, TU Ilmenau AuD FG KTuEA, TU Ilmenau AuD

6 Lösen von Rekursionsgleichungen 2 Wertverlaufsinduktion Sei n 4 beliebig n=4 = T(4) = 3 T() + c4 2 d4 2 für d c T() n>4 Dann gilt nach Def der Rekursion und IV: T(n) 3 (d ( n/4 ) 2 ) + 6 dn2 3 + dn 2 für d 3 c 6 denn 6 dn2 3 + dn 2 c d ( 3/6) Wähle also d max{c + 6 T(), 3 3 c} 6 Bem Es gilt auch T(n) = Ω(n 2 ) Denn jeder Aufruf von T bzgl Problemgröße n trägt Kosten Θ(n 2 ) bei Lösen von Rekursionsgleichungen 2 Satz (Master-Theorem) Seien a,b> Konstanten und f : N R + eine Funktion Betrachte die Rekursion (6) T(n) = a T(n/b) + f(n) wobei n/b für n/b oder n/b steht Dann gilt: f(n)=o(n log b a ǫ ) für ein ǫ > = T(n)=Θ(n log b a ) 2 f(n)=θ(n log b a ) = T(n)=Θ(n log b a log n) 3 f(n)=ω(n log b a +ǫ ) für ein ǫ >, und a f(n/b) c f(n) für eine Konstante c (,) und n b = T(n)=Θ(f(n)) FG KTuEA, TU Ilmenau AuD FG KTuEA, TU Ilmenau AuD Lösen von Rekursionsgleichungen 22 Beweis Seien a,b> und f : N R + wie im Master- Theorem (MT), und erfülle T(n) die Rekursionsgleichung: (6) T(n) = a T(n/b) + f(n) Sei nun N b := {n N n = b,b,b 2,} die Menge der exakten Potenzen von b Der Beweis erfolgt dann in zwei Schritten: Schritt Beweise MT für T(n) auf N b 2 Schritt Erweitere die Analyse für N b auf ganz N + Insbesondere behandle Aufrunden und Abrunden Lösen von Rekursionsgleichungen 23 Lemma (MT-) T : N b R + erfülle die Gleichnung: { Θ() falls n= T(n)= a T(n/b) + f(n) falls n=b i > = T(n) = Θ(n log b a ) + a j f(n/bj ) Lemma (MT-2) Sei g(n)= a j f(n/b j ) für n N b f(n)=o(n log b a ǫ ) für ein ǫ > = g(n)=o(n log b a ) 2 f(n)=θ(n log b a ) = g(n)=θ(n log b a log n) 3 a f(n/b) c f(n) für c (,), n b = g(n)=θ(f(n)) FG KTuEA, TU Ilmenau AuD FG KTuEA, TU Ilmenau AuD

7 Lösen von Rekursionsgleichungen 24 Beweis von MT- Betrachte den Rekursionbaum für T(n): 2? f( n b ) f(n b ) f(n b ) a a a Θ()Θ()Θ()Θ()Θ()Θ()Θ()Θ() f(n) a f( n b 2) f( n b 2) f( n b 2) f( n b 2) f( n b 2) f( n f( n b 2) f( n b 2) f( n b 2) b 2) Θ()Θ()Θ() Θ()Θ()Θ()Θ() Stufe j d=baumtiefe=log b n besteht aus a j Knoten mit jeweils f(n/b j ) für j < d Stufe d besitzt n log b a Knoten mit jeweils Θ() f(n) a 2 f( n b 2) a 2 f( n b 2) Θ(n log b(a) ) Lösen von Rekursionsgleichungen 25 = Die Gesamkosten der Rekursion T(n) ergeben: T(n) = Kosten auf Stufe d + Kosten aller Stufen j < d = n log a Θ() b + a j f(n/bj ) = Θ(n log b a ) + a j f(n/b j ) Beweis von MT-2 Tafelmitschrift! FG KTuEA, TU Ilmenau AuD FG KTuEA, TU Ilmenau AuD Lösen von Rekursionsgleichungen 26 Lemma (MT-2) Sei g(n)= a j f(n/b j ) für n N b f(n)=o(n log b a ǫ ) für ein ǫ > = g(n)=o(n log b a ) 2 f(n)=θ(n log b a ) = g(n)=θ(n log b a log n) 3 a f(n/b) c f(n) für c (,), n b = g(n)=θ(f(n)) Interpretation: Die drei Fälle entsprechen den drei möglichen Vergleichen zwischen den Kosten f(n) der Wurzel und den Gesamtkosten Θ(n log b a ) der Blätter In jedem Fall gewinnt das dominierende Wachstum FG KTuEA, TU Ilmenau AuD

8

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

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

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

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

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

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

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

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

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

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

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

Ü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

Algorithmen und Datenstrukturen

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

Mehr

Algorithmen 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

LOOP-Programme 1. Def (Meyer/Ritchie). LOOP-Programme werden induktiv aufgebaut aus den (Basis-) Anweisungen. Führe P X-mal aus ) LOOP-Programme 2

LOOP-Programme 1. Def (Meyer/Ritchie). LOOP-Programme werden induktiv aufgebaut aus den (Basis-) Anweisungen. Führe P X-mal aus ) LOOP-Programme 2 LOOP-Programme 1 LOOP-Programme verwenden (jeweils) endlich viele Variablen aus VAR := {X 0,X 1,X 2,...}, oft nur mit X,Y,Z,U,V,W bezeichnet, die als Register fungieren. Slide 1 Def (Meyer/Ritchie). LOOP-Programme

Mehr

Hilfsmittel Mathematik Rekursionsgleichungen

Hilfsmittel Mathematik Rekursionsgleichungen Hilfsmittel Mathematik Rekursionsgleichungen M. Neumann, C. Piechotta 30. März 2009 Motivation Raten und Einsetzen Motivation! Definition der Fibonacci-Zahlenfolge F(0) = 1 F(1) = 1 F(n) = F(n-1)+F(n-2),

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

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

Datenstrukturen und Algorithmen

Datenstrukturen und Algorithmen Datenstrukturen und Algorithmen VO 708.031 27.10.2011 stefan.klampfl@tugraz.at 1 Wiederholung Wir vergleichen Algorithmen anhand des ordnungsmäßigen Wachstums von T(n), S(n), Asymptotische Schranken: O-Notation:

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

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 Wintersemester 2004/ November T(n) = T(n a) + T(a) + n

Algorithmen und Datenstrukturen Wintersemester 2004/ November T(n) = T(n a) + T(a) + n Lehrstuhl für Praktische Informatik III Norman May B6, 29, Raum C0.05 68131 Mannheim Telefon: (0621) 181 2517 Email: norman@pi3.informatik.uni-mannheim.de Matthias Brantner B6, 29, Raum C0.05 68131 Mannheim

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

Die primitiv rekursiven Funktionen

Die primitiv rekursiven Funktionen Priv.-Doz. Dr.rer.nat.habil. Karl-Heinz Niggl Technische Universität Ilmenau Fakultät IA, Institut für Theoretische Informatik Fachgebiet Komplexitätstheorie und Effiziente Algorithmen J Die primitiv rekursiven

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

A7.1 Untere Schranke. Algorithmen und Datenstrukturen. A7.1 Untere Schranke. Algorithmen und Datenstrukturen. A7.2 Quicksort. A7.

A7.1 Untere Schranke. Algorithmen und Datenstrukturen. A7.1 Untere Schranke. Algorithmen und Datenstrukturen. A7.2 Quicksort. A7. Algorithmen und Datenstrukturen 14. März 2018 A7. III Algorithmen und Datenstrukturen A7. III Marcel Lüthi and Gabriele Röger Universität Basel 14. März 2018 A7.1 Untere Schranke A7.2 Quicksort A7.3 Heapsort

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

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

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

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

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen A7. Sortieren III Marcel Lüthi and Gabriele Röger Universität Basel 14. März 2018 Untere Schranke Sortierverfahren Sortieren Vergleichsbasierte Verfahren Nicht vergleichsbasierte

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen Wintersemester 2012/13 17. Vorlesung Nächstes Paar Prof. Dr. Alexander Wolff Lehrstuhl für Informatik I Problem: Gegeben: Menge P von n Punkten in der Ebene, jeder Punkt

Mehr

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

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

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

Ü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

( )= 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

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

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

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

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

Mehr

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

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

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

16. All Pairs Shortest Path (ASPS)

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

Mehr

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

Wir wollen nun die Behauptung beweisen, dass die Laufzeit von SELECT linear ist, also dass T (n) = O(n) gilt.

Wir wollen nun die Behauptung beweisen, dass die Laufzeit von SELECT linear ist, also dass T (n) = O(n) gilt. Abschätzung für die Rekursion von SELECT Wir wollen nun die Behauptung beweisen, dass die Laufzeit von SELECT linear ist, also dass T (n) = O(n) gilt. Wir nehmen erst einmal an, dass eine Konstante d existiert,

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

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

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

Mehr

3.5 Schnelle Fouriertransformation (FFT, DFT)

3.5 Schnelle Fouriertransformation (FFT, DFT) 3.5 Schnelle Fouriertransformation (FFT, DFT) 3.5.1 Grundlagen Ein Polynom P = i a ix i C[x] vom Grad n ist eindeutig durch seine Koeffizienten a i bestimmt, d.h. man hat eine Bijektion {Polynome C[x]

Mehr

Kapitel 8. Rekursionsgleichungen. Landau-Symbole. Lösen von Rekursionsgleichungen Allgemeines Iterationsmethode Spezialfälle Erzeugende Funktionen

Kapitel 8. Rekursionsgleichungen. Landau-Symbole. Lösen von Rekursionsgleichungen Allgemeines Iterationsmethode Spezialfälle Erzeugende Funktionen Rekursionsgleichungen Landau-Symbole Kapitel 8 Lösen von Rekursionsgleichungen Allgemeines Iterationsmethode Spezialfälle Erzeugende Funktionen Kapitel 8 Rekursionsgleichungen p./42 Landau-Symbole () Modellierung

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

Ü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

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

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

Mehr

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

4.2 Minimale Spannbäume: Der Algorithmus von Jarník/Prim Definition 4.2.1

4.2 Minimale Spannbäume: Der Algorithmus von Jarník/Prim Definition 4.2.1 Allgemeines. Minimale Spannbäume: Der Algorithmus von Jarník/Prim Definition.. (a) Ein Graph G =(V, E) heißt kreisfrei, wenn er keinen Kreis besitzt. Beispiel: Ein kreisfreier Graph: FG KTuEA, TU Ilmenau

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

4 Rekursionen. 4.1 Erstes Beispiel

4 Rekursionen. 4.1 Erstes Beispiel 4 Rekursionen Viele Algorithmen besitzen sowohl eine iterative als auch eine rekursive Lösung. Sie unterscheiden sich darin, dass die iterative Version meist einen etwas längeren Kode besitzt, während

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

2 Sortieren durch Vergleichen Eingabefolge a 1, a 2,..., a n 2, 1, 3 Sortieralg. Für festes n ist ein vergleichsbasierter Sortieralg. charakterisiert

2 Sortieren durch Vergleichen Eingabefolge a 1, a 2,..., a n 2, 1, 3 Sortieralg. Für festes n ist ein vergleichsbasierter Sortieralg. charakterisiert 1 Algorithmen und Datenstrukturen Wintersemester 2014/15 9. Vorlesung Sortieren in Linearzeit Prof. Dr. Alexander Wolff Lehrstuhl für Informatik I 2 Sortieren durch Vergleichen Eingabefolge a 1, a 2,...,

Mehr

Algorithmen und Datenstrukturen II

Algorithmen und Datenstrukturen II Algorithmen und Datenstrukturen II Große Übung #1 Arne Schmidt 19.04.2016 Organisatorisches Arne Schmidt Große Übung 2 Homepage Aktuelle Informationen, Hausaufgaben, Slides auf: https://www.ibr.cs.tu-bs.de/courses/ss17/aud2/

Mehr

Studentisches Skript

Studentisches Skript Algorithmen und Datenstrukturen Studentisches Skript Kim Wittenburg 5wittenb@informatik.uni-hamburg.de Version vom 20. März 2017 Auf Basis der Vorlesung von Prof. Dr. Petra Berenbrink und Prof. Dr. Chris

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

Fibonacci-Zahlen als Beispiel

Fibonacci-Zahlen als Beispiel Fibonacci-Zahlen als Beispiel Für f = (f n ) n 0 = (0, 1, 1, 2, 3, 5, 8, 13, 21, 34,...) gilt Rekursion erzeugende Funktion f n+2 = f n+1 + f n (n 0), f 0 = 0, f 1 = 1 f(z) = n 0 f n z n = z 1 z z 2 Partialbruchzerlegung

Mehr

Klausur Algorithmen und Datenstrukturen SS August Arbeitszeit 90 min

Klausur Algorithmen und Datenstrukturen SS August Arbeitszeit 90 min TU Ilmenau, Fakultät für Informatik und Automatisierung FG Komplexitätstheorie und Effiziente Algorithmen Univ.-Prof. Dr. M. Dietzfelbinger, Dipl.-Ing. C. Mattern Klausur Algorithmen und Datenstrukturen

Mehr

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

Ferienkurs zur algorithmischen diskreten Mathematik Kapitel 1: Grundlagen der algorithmischen Graphentheorie Ferienkurs zur algorithmischen diskreten Mathematik Kapitel 1: Grundlagen der algorithmischen Graphentheorie Dipl-Math. Wolfgang Kinzner 2.4.2012 Kapitel 1: Grundlagen der algorithmischen Graphgentheorie

Mehr

Kapitel 6 Elementare Sortieralgorithmen

Kapitel 6 Elementare Sortieralgorithmen Kapitel 6 Elementare Sortieralgorithmen Ziel: Kennenlernen elementarer Sortierverfahren und deren Effizienz Zur Erinnerung: Das Sortier-Problem Gegeben: Folge A von n Elementen a 1, a 2,..., a n ; Eine

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

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

Komplexität von Algorithmen

Komplexität von Algorithmen Komplexität von Algorithmen Ziel Angabe der Effizienz eines Algorithmus unabhängig von Rechner, Programmiersprache, Compiler. Page 1 Eingabegröße n n Integer, charakterisiert die Größe einer Eingabe, die

Mehr

4 Effizienz und Komplexität 3.1 1

4 Effizienz und Komplexität 3.1 1 4 Effizienz und Komplexität 3.1 1 Effizienz (efficiency): auf den Ressourcen-Verbrauch bezogene Programmeigenschaft: hohe Effizienz bedeutet geringen Aufwand an Ressourcen. Typische Beispiele: Speichereffizienz

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

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

Prof. Dr. Margarita Esponda

Prof. Dr. Margarita Esponda Analyse von Algorithmen Die O-Notation WS 2012/2013 Prof. Dr. Margarita Esponda Freie Universität Berlin 1 Korrekte und effiziente Lösung von Problemen Problem Wesentlicher Teil der Lösung eines Problems.

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

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

Übungsblatt 1. f(n) = f(n) = O(g(n)) g(n) = O(f(n)) Zeigen oder widerlegen Sie: 3 n = Θ(2 n ) Aufgabe 1.2 Gegeben sei die folgende Funktion:

Übungsblatt 1. f(n) = f(n) = O(g(n)) g(n) = O(f(n)) Zeigen oder widerlegen Sie: 3 n = Θ(2 n ) Aufgabe 1.2 Gegeben sei die folgende Funktion: Übungsblatt 1 Aufgabe 1.1 Beweisen oder widerlegen Sie, dass für die im Folgenden definierte Funktion f(n) die Beziehung f(n) = Θ(n 4 ) gilt. Beachten Sie, dass zu einem vollständigen Beweis gegebenenfalls

Mehr

2.2 Allgemeine (vergleichsbasierte) Sortierverfahren

2.2 Allgemeine (vergleichsbasierte) Sortierverfahren . Allgemeine (vergleichsbasierte) Sortierverfahren Vergleichsbaum: Der Aufbau des Verbleichsbaum ist für jeden Algorithmus und jede Eingabelänge n gleich. Jede Permutation der Eingabe, muss zu einem anderen

Mehr

Praktikum Algorithmische Anwendungen WS 2006/07 Sortieren in linearer Laufzeit

Praktikum Algorithmische Anwendungen WS 2006/07 Sortieren in linearer Laufzeit Praktikum Algorithmische Anwendungen WS 2006/07 Sortieren in linearer Laufzeit Team A blau Martin Herfurth 11043831 Markus Wagner 11043447 5. Februar 2007 1 1 Untere Schranke für Vergleichsbasierte Algorithmen

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

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

Probeklausur Computerorientierte Mathematik II

Probeklausur Computerorientierte Mathematik II Technische Universität Berlin SS 2012 Fakultät II, Institut für Mathematik Sekretariat MA 5 1, Frau Klink Prof. Dr. Rolf Möhring Torsten Gellert Jan-Philipp Kappmeier Jens Schulz Catharina Broermann, Christian

Mehr

ADS: Algorithmen und Datenstrukturen

ADS: Algorithmen und Datenstrukturen ADS: Algorithmen und Datenstrukturen Akuter Denk-Stau Peter F. Stadler & Konstantin Klemm Bioinformatics Group, Dept. of Computer Science & Interdisciplinary Center for Bioinformatics, University of Leipzig

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

Ü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

Informatik III Wintersemester 2016/17. Aufgabenblatt 4

Informatik III Wintersemester 2016/17. Aufgabenblatt 4 Informatik III Wintersemester 2016/17 Universität Augsburg Prof. Dr. W. Vogler Moritz Laudahn, M.S. Aufgabe 1 Aufgabenblatt 4 Geben Sie einen Entsheidungsbaum für das im Skript beshriebene Insertion Sort

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

Datenstrukturen & Algorithmen

Datenstrukturen & Algorithmen Datenstrukturen & Algorithmen Matthias Zwicker Universität Bern Frühling 2010 Übersicht Dynamische Programmierung Einführung Ablaufkoordination von Montagebändern Längste gemeinsame Teilsequenz Optimale

Mehr

Effiziente Algorithmen und Datenstrukturen I. Kapitel 10: Lineare Algebra

Effiziente Algorithmen und Datenstrukturen I. Kapitel 10: Lineare Algebra Effiziente Algorithmen und Datenstrukturen I Kapitel 10: Lineare Algebra Christian Scheideler WS 2008 19.02.2009 Kapitel 10 1 Überblick Notation Arithmetik auf großen Zahlen (Addition und Multiplikation)

Mehr

Vorlesung Informatik 2 Algorithmen und Datenstrukturen

Vorlesung Informatik 2 Algorithmen und Datenstrukturen Vorlesung Informatik 2 Algorithmen und Datenstrukturen (21 - Balancierte Bäume, AVL-Bäume) Prof. Dr. Susanne Albers Balancierte Bäume Eine Klasse von binären Suchbäumen ist balanciert, wenn jede der drei

Mehr

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

1. Musterlösung. Problem 1: Average-case-Laufzeit vs. Worst-case-Laufzeit Universität Karlsruhe Algorithmentechnik Fakultät für Informatik WS 06/07 ITI Wagner Musterlösung Problem : Average-case-Laufzeit vs Worst-case-Laufzeit pt (a) Folgender Algorithmus löst das Problem der

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

Informatik II, SS 2014

Informatik II, SS 2014 Informatik II SS 2014 (Algorithmen & Datenstrukturen) Vorlesung 4 (7.5.2014) Asymptotische Analyse, Sortieren IV Algorithmen und Komplexität Erfahrungen 1. Übung C++ / Java sind komplett ungewohnt Struktur

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

Musterlösungen zu Datenstrukturen und Algorithmen SS 2005 Blatt 2, Aufgabe 3 Wir schreiben zunächst alle Funktionen zur Basis 2.

Musterlösungen zu Datenstrukturen und Algorithmen SS 2005 Blatt 2, Aufgabe 3 Wir schreiben zunächst alle Funktionen zur Basis 2. Prof. Dr. Johannes Blömer Paderborn, den. August 005 Musterlösungen zu Datenstrukturen und Algorithmen SS 005 Blatt, Aufgabe 3 Wir schreiben zunächst alle Funktionen zur Basis. Dann erhalten wir 3 n log(n)

Mehr

Überblick. Kap. 1.4: Minimum Weight Perfect Matching. 1.3 Blüten-Schrumpf Algorithmus für Maximum Matching

Überblick. Kap. 1.4: Minimum Weight Perfect Matching. 1.3 Blüten-Schrumpf Algorithmus für Maximum Matching Kap. 1.4: Minimum Weight Professor Dr. Petra Mutzel Lehrstuhl für Algorithm Engineering, LS11 4. VO 6. November 2006 Überblick kurze Wiederholung: 1.2 Blüten-Schrumpf-Algorithmus für Perfektes Matching

Mehr

1.3 Primitiv rekursive und µ-rekursive Funktionen

1.3 Primitiv rekursive und µ-rekursive Funktionen Definition 1.11 Die Klasse der primitiv rekursiven Funktionen (a) Basisfunktionen: (1.) die konstanten Funktionen c (c N) (2.) die Projektionen Π m i (x 1,...,x m ) = x i (1 i m) (3.) die Nachfolgerfunktion

Mehr

F3 Berechenbarkeit und Komplexität

F3 Berechenbarkeit und Komplexität F3 Berechenbarkeit und Komplexität Berndt Farwer Fachbereich Informatik AB Theoretische Grundlagen der Informatik (TGI) Universität Hamburg farwer@informatik.uni-hamburg.de F3 01/02 p.1/70 Zielgruppe 1.

Mehr

2. Woche Eindeutige Entschlüsselbarleit, Sätze von Kraft und McMillan, Huffmancodierung

2. Woche Eindeutige Entschlüsselbarleit, Sätze von Kraft und McMillan, Huffmancodierung 2 Woche Eindeutige Entschlüsselbarleit, Sätze von Kraft und McMillan, Huffmancodierung 2 Woche: Eindeutige Entschlüsselbarleit, Sätze von Kraft und McMillan, Huffmancodierung 24/ 44 Zwei Beispiele a 0

Mehr