Kapitel 2: Analyse der Laufzeit von Algorithmen Gliederung

Größe: px
Ab Seite anzeigen:

Download "Kapitel 2: Analyse der Laufzeit von Algorithmen Gliederung"

Transkript

1 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 6. Ausgewählte Datenstrukturen 7. Algorithmische Geometrie 8. Umgang mit algorithmisch schwierigen Problemen Analyse rekursiver Algorithmen amortisierte Analyse 2/1, Folie Prof. Steffen Lange - HDa/FbI - Algorithmik

2 Einordnung u... es geht uns darum, einige Methoden kennenzulernen, die wir benutzen können, um die Laufzeit von Algorithmen sinnvoll abzuschätzen im Mittelpunkt stehen die Analyse von Algorithmen, die rekursiv definiert sind die Analyse von Algorithmen, bei denen Operationen eine Rolle spielen, deren Laufzeit / Kosten variabel sind, d.h. sich über die Zeit ändern 2/1, Folie Prof. Steffen Lange - HDa/FbI - Algorithmik

3 Analyse rekursiver Algorithmen u... bereits diskutierte Beispiele Divide-and-Conquer-Algorithmus für das Maximale-Teilsummen-Problem rekursiver Algorithmus zum Bestimmen des Maximums einer Zahlenfolge u... andere bekannte Beispiele Sortieren durch Auswählen Quick-Sort... für rekursive Lösungsalgorithmen ist typisch, dass sich die Komplexitätsfunktion des Algorithmus ebenfalls rekursiv beschreiben lässt 2/1, Folie Prof. Steffen Lange - HDa/FbI - Algorithmik

4 Analyse rekursiver Algorithmen u Beispiel: Maximum bestimmen rekursive Beschreibung des Algorithmus Eingabe: Zahlenfolge a[1],...,a[n] Berechnungsvorschrift: falls n = 1 ist, gib a[1] aus falls n > 1 ist, gehe wie folgt vor: bestimme zunächst das Maximum z des Anfangsstücks a[1],...,a[n-1] bestimme das Maximum von z und a[n] und gib diese Zahl aus rekursive Beschreibung der Komplexitätsfunktion T(n) für diesen Algorithmus (/* interessierende Operation: Vergleichsoperation */): T(1) = 0 T(n) = T(n-1) + 1 2/1, Folie Prof. Steffen Lange - HDa/FbI - Algorithmik

5 Analyse rekursiver Algorithmen u Beispiel: Sortieren durch Auswählen rekursive Beschreibung des Algorithmus Eingabe: Zahlenfolge a[1],...,a[n] Berechnungsvorschrift: falls n = 1 ist, gib a[1] aus falls n > 1 ist, gehe wie folgt vor: bestimme das i in der Zahlenfolge a[1],...,a[n], für das a[i] maximal ist vertausche die Elemente a[n] und a[i] sortiere die Zahlenfolge a[1],...,a[n-1] rekursive Beschreibung der Komplexitätsfunktion T(n) für diesen Algorithmus (/* interessierende Operationen: Vergleichsoperation und Austauschoperation */): T(1) = 0 T(n) = T(n-1) + n 2/1, Folie Prof. Steffen Lange - HDa/FbI - Algorithmik

6 Analyse rekursiver Algorithmen u Zwischenzusammenfassung es geht darum, Komplexitätsfunktionen abzuschätzen, die wie folgt beschrieben werden die Laufzeit für Eingaben der Größe n hängt sowohl von n als auch von der Laufzeit für Eingaben einer Größe kleiner als n ab u prominente Beispiele Basisfall: T(1) = c zugehörige Rekursionsgleichungen: T(n) = T(n-1) + c T(n) = 2T(n/2) + c*n T(n) = 3T(n/2) + c*n /1, Folie Prof. Steffen Lange - HDa/FbI - Algorithmik

7 Analyse rekursiver Algorithmen u Zielstellung rekursiv beschriebene Komplexitätsfunktionen mit Hilfe von einfachen Funktionen abzuschätzen u typische Beispiele Basisfall: T(1) = c zugehörige Rekursionsgleichung: a) T(n) = T(n-1) + c b) T(n) = 2T(n/2) + c*n c) T(n) = 3T(n/2) + c*n 2 a) T(n) Θ(g(n)) mit g(n) = n b) T(n) Θ(g(n)) mit g(n) = n*log(n) c) T(n) Θ(g(n)) mit g(n) = n 2 2/1, Folie Prof. Steffen Lange - HDa/FbI - Algorithmik

8 Analyse rekursiver Algorithmen u Typische Herangehensweisen Einsetzen und Aufsummieren Raten und die Vermutung mit Hilfe eines induktiven Beweises überprüfen Anwendung des Master-Theorems... die letzte Methode wird für fast alle Abschätzungen, die im Rahmen der Vorlesung relevant sind, genügen 2/1, Folie Prof. Steffen Lange - HDa/FbI - Algorithmik

9 Einsetzen und Aufsummieren u Erstes Beispiel Basisfall: T(1) = c zugehörige Rekursionsgleichung: T(n) = T(n-1) + c T(n) = c + T(n-1) = c + c + T(n-2) =... = c + c c = c*n... also: T(n) Θ(g(n)) mit g(n) = n 2/1, Folie Prof. Steffen Lange - HDa/FbI - Algorithmik

10 Einsetzen und Aufsummieren u Zweites Beispiel Basisfall: T(1) = 1 zugehörige Rekursionsgleichung: T(n) = T(n-1) + n T(n) = n + T(n-1) = n + (n-1) + T(n-2) =... = n + (n-1) = n * (n+1) / 2... also: T(n) Θ(g(n)) mit g(n) = n 2 2/1, Folie Prof. Steffen Lange - HDa/FbI - Algorithmik

11 Einsetzen und Aufsummieren u Drittes Beispiel Basisfall: T(1) = 1 zugehörige Rekursionsgleichung: T(n) = T(n-1) + n 2 T(n) = n 2 + T(n-1) = n 2 + (n-1) 2 + T(n-2) =... = n 2 + (n-1) offenbar gilt: T(n) n*n 2 = n 3 offenbar gilt: T(n) (n/2)*(n/2) 2 = n 3 /8... also: T(n) Θ(g(n)) mit g(n) = n 3 2/1, Folie Prof. Steffen Lange - HDa/FbI - Algorithmik

12 Raten und die Vermutung mit Hilfe eines induktiven Beweises überprüfen u Beispiel Basisfall: T(1) = 0 zugehörige Rekursionsgleichung: T(n) = 2T(n/2) + n erste (/* falsche */) Vermutung: es gilt T(n) c*n für ein geeignet gewähltes c unter der Annahme, dass für alle n < n die Vermutung gilt, kann man diese Induktionsvoraussetzung nun wie folgt benutzen: T(n) 2*(c *n/2) + *n = c *n + *n = (c +1)*n... Unsinn, da unsere Konstante c um 1 größer werden müsste, wenn sich n verdoppelt (/* aber ein guter Ausgangspunkt für eine neue Vermutung */) 2/1, Folie Prof. Steffen Lange - HDa/FbI - Algorithmik

13 Raten und die Vermutung mit Hilfe eines induktiven Beweises überprüfen u Beispiel (cont.) Basisfall: T(1) = 0 zugehörige Rekursionsgleichung: T(n) = 2T(n/2) + n zweite (/* richtige */) Vermutung: es gilt T(n) c*n*log 2 (n) für ein geeignet gewähltes c 1 unter der Annahme, dass für alle n < n die Vermutung gilt, kann man diese Induktionsvoraussetzung wie folgt benutzen: T(n) 2*(c*n/2*log 2 (n/2)) + n = c*n*(log 2 (n/2)) + n = c*n*(log 2 (n) - log 2 (2)) + n = c*n*log 2 (n) - c*n + n c*n*log 2 (n) - c*n + c*n = c*n*log 2 (n)... unsere Vermutung ist richtig und wir erhalten damit: T(n) O(g(n)) mit g(n) = n*log 2 (n) 2/1, Folie Prof. Steffen Lange - HDa/FbI - Algorithmik

14 u Zielstellung wir wollen uns ein Hilfsmittel verschaffen, um alle Rekursionen vom folgenden Typ in den Griff zu bekommen es seien a, b und c irgendwelche Konstanten größer als 0 Basisfall: T(1) = c zugehörige Rekursionsgleichung: T(n) = a*t(n/b) + c*n k... solcherart Rekursionen findet man typischerweise bei Algorithmen, die nach dem Divide-and-Conquer-Ansatz konzipiert wurden... in vielen Fällen wird man statt des Gleichheitszeichens ein - Zeichen finden 2/1, Folie Prof. Steffen Lange - HDa/FbI - Algorithmik

15 u Erstes Beispiel Basisfall: T(1) = c zugehörige Rekursionsgleichung: T(n) = 2*T(n/2) + c sukzessives Einsetzen bspw. für n = 2 3 liefert folgenden Rekursionsbaum: c c c c c c c c c c c c c c c 2/1, Folie Prof. Steffen Lange - HDa/FbI - Algorithmik

16 u Zweites Beispiel (/* cont. /*) Aufsummieren über die einzelnen Ebenen liefert: Wurzel: c 1. Ebene: 2*c 2. Ebene: 4*c 3. Ebene: 8*c... insgesamt: 2*c*n 2/1, Folie Prof. Steffen Lange - HDa/FbI - Algorithmik

17 u Zweites Beispiel Basisfall: T(1) = c zugehörige Rekursionsgleichung: T(n) = 2*T(n/2) + c*n sukzessives Einsetzen bspw. für n = 2 3 liefert folgenden Rekursionsbaum: c*n c*(n/2) c*(n/2) c*(n/4) c*(n/4) c*(n/4) c*(n/4) c*(n/8) c*(n/8) c*(n/8) c*(n/8) c*(n/8) c*(n/8) c*(n/8) c*(n/8) 2/1, Folie Prof. Steffen Lange - HDa/FbI - Algorithmik

18 u Zweites Beispiel (/* cont. /*) Aufsummieren über die einzelnen Ebenen liefert: Wurzel: c*n 1. Ebene: 2*c*(n/2) = c*n 2. Ebene: 4*c*(n/4) = c*n 3. Ebene: 8*c*(n/8) = c*n... insgesamt: c*n*(log 2 (n) + 1) 2/1, Folie Prof. Steffen Lange - HDa/FbI - Algorithmik

19 u Drittes Beispiel Basisfall: T(1) = c zugehörige Rekursionsgleichung: T(n) = 2*T(n/2) + c*n 2 sukzessives Einsetzen bspw. für n = 2 3 liefert folgenden Rekursionsbaum: c*n 2 c*(n/2) 2 c*(n/2) 2 c*(n/4) 2 c*(n/4) 2 c*(n/4) 2 c*(n/4) 2 c*(n/8) 2 c*(n/8) 2 c*(n/8) 2 c*(n/8) 2 c*(n/8) 2 c*(n/8) 2 c*(n/8) 2 c*(n/8) 2 2/1, Folie Prof. Steffen Lange - HDa/FbI - Algorithmik

20 u Drittes Beispiel (/* cont. /*) Aufsummieren über die einzelnen Ebenen liefert: Wurzel: c*n 2 1. Ebene: 2*c*(n/2) 2 = (c*n 2 )/2 2. Ebene: 4*c*(n/4) 2 = (c*n 2 )/4 3. Ebene: 8*c*(n/8) = (c*n 2 )/8... insgesamt: 2*c*n 2 2/1, Folie Prof. Steffen Lange - HDa/FbI - Algorithmik

21 u... und jetzt allgemeiner es seien a, b und c irgendwelche Konstanten größer als 0 Basisfall: T(1) = c zugehörige Rekursionsgleichung: T(n) = a*t(n/b) + c*n k es sei o.b.d.a. n eine Potenz von b dann ergibt sich durch Analyse des Rekursionsbaums: T(n) = c*n k + a*c*(n/b) k + a 2 *c*(n/b 2 ) k a log b (n) *c*(n/b log b (n) ) k das Anwenden von Potenzgesetzen liefert: T(n) = c*n k + c*n k *(a/b k ) + c*n k *(a/b k ) c*n k *(a/b k ) log b (n) 2/1, Folie Prof. Steffen Lange - HDa/FbI - Algorithmik

22 u... und jetzt allgemeiner (/* cont. */) wir setzen r = a/b k und erhalten: T(n) = c*n k *r 0 + c*n k *r 1 + c*n k *r c*n k *r log b (n) offenbar kann nur einer der folgenden drei Fälle eintreten: Fall A: r = 1, d.h. a = b k Fall B: r < 1, d.h. a < b k Fall C: r > 1, d.h. a > b k... wir untersuchen jetzt diese drei Fälle separat 2/1, Folie Prof. Steffen Lange - HDa/FbI - Algorithmik

23 u zu Fall A (/* r = 1, d.h. a = b k */) offenbar erhalten wir: T(n) = c*n k *1 0 + c*n k *1 1 + c*n k* c*n k* 1 log b (n) also gilt: T(n) = c*n k *(log b (n)+1)... also erhalten wir: T(n) Θ(g(n)) mit g(n) = n k *log 2 (n) 2/1, Folie Prof. Steffen Lange - HDa/FbI - Algorithmik

24 u zu Fall B (/* r < 1, d.h. a < b k */) offenbar erhalten wir: T(n) = c*n k *[ r 0 + r 1 + r r log b (n) ] also gilt: T(n) c*n k T(n) c*n k *[r 0 + r 1 + r ] = c*n k *(1/1-r) (/* Grenzwert für geometrische Reihen einsetzen */)... also erhalten wir: T(n) Θ(g(n)) mit g(n) = n k 2/1, Folie Prof. Steffen Lange - HDa/FbI - Algorithmik

25 u zu Fall C (/* r >1, d.h. a > b k */) offenbar erhalten wir wieder: T(n) = c*n k *[ r 0 + *r 1 + r r log b (n) ] Ausklammern der größten Terms liefert: T(n) = c*n k *r log b (n) [ r 0 /r log b (n) + r 1 /r log b (n) + r 2 /r log b (n) r log b (n) /r log b (n) ] also gilt: T(n) = c*n k *r log b (n) [ (1/r) log b (n) + (1/r) log b (n)-1 + (1/r) log b (n) (1/r) 0 ] da 1/r < 1 ist, erhalten wir wie in Fall B: T(n) Θ(g(n)) mit g(n) = n k *r log b (n) 2/1, Folie Prof. Steffen Lange - HDa/FbI - Algorithmik

26 u zu Fall C (/* r >1, d.h. a > b k (/* cont. */) wir schauen uns den folgenden Term genauer an: g(n) = n k *r log b (n) wegen r = a/b k gilt: g(n) = n k *(a log b (n) /b k * log b (n) ) wegen b log b (n) = n gilt auch noch: g(n) = a log b (n) da per Definition sowohl a = b log b (a) als auch b log b (n) = n gilt, können wir schreiben: g(n) = n log b (a)... also erhalten wir: T(n) Θ(g(n)) mit g(n) = n log b (a) 2/1, Folie Prof. Steffen Lange - HDa/FbI - Algorithmik

27 u Zusammenfassung (/* unser */) Es seien a, b und c Konstanten größer 0, so dass sich die Komplexitätsfunktion eines Algorithmus A wie folgt beschreiben lässt: Dann gilt: Basisfall: T(1) = c zugehörige Rekursionsgleichung: T(n) = a*t(n/b) + c*n k Wenn a < b k ist, so ist T(n) Θ(g(n)) mit g(n) = n k. Wenn a = b k ist, so ist T(n) Θ(g(n)) mit g(n) = n k *log(n). Wenn a > b k ist, so ist T(n) Θ(g(n)) mit g(n) = n log b (a). 2/1, Folie Prof. Steffen Lange - HDa/FbI - Algorithmik

Kapitel 3: Untere Schranken für algorithmische Probleme Gliederung

Kapitel 3: Untere Schranken für algorithmische Probleme 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

Modul Algorithmik, T-Katalog

Modul Algorithmik, T-Katalog Modul Algorithmik, T-Katalog Sommersemester 2017 Steffen Lange 1/1, Folie 1 2017 Prof. Steffen Lange - HDa/FbI - Algorithmik Organisatorisches u Vorlesung Folien im Netz u Übung eine Übung alle 14 Tage

Mehr

Kapitel 1: Motivation / Grundlagen Gliederung

Kapitel 1: Motivation / Grundlagen Gliederung Gliederung 1. Motivation / Grundlagen 2. Sortier- und Selektionsverfahren 3. Paradigmen des Algorithmenentwurfs 4. Ausgewählte Datenstrukturen 5. Algorithmische Geometrie 6. Umgang mit algorithmisch schwierigen

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

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

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

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

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

Ü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

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

Datenstrukturen. Sommersemester Kapitel 1: Motivation / Grundlagen. Steffen Lange

Datenstrukturen. Sommersemester Kapitel 1: Motivation / Grundlagen. Steffen Lange Datenstrukturen Sommersemester 2010 Steffen Lange 1/1, Folie 1 2010 Prof. Steffen Lange - HDa/FbI - Datenstrukturen Organisatorisches Vorlesung wöchentlich; zwei Blöcke Folien im Netz (/* bitte zur Vorlesung

Mehr

Kapitel 8: Bipartite Graphen Gliederung der Vorlesung

Kapitel 8: Bipartite Graphen Gliederung der Vorlesung Gliederung der Vorlesung 1. Grundbegriffe. Elementare Graphalgorithmen und Anwendungen 3. Kürzeste Wege 4. Minimale spannende Bäume 5. Färbungen und Cliquen 6. Traveling Salesman Problem 7. Flüsse in Netzwerken

Mehr

Algorithmik - Kompaktkurs

Algorithmik - Kompaktkurs Algorithmik - Kompaktkurs Sommersemester 2012 Steffen Lange 0/1, Folie 1 2012 Prof. Steffen Lange - HDa/FbI - Algorithmik Organisatorisches Vorlesung Folien im Netz (/* bitte zur Vorlesung mitbringen */)

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

Kapitel 7: Flüsse in Netzwerken und Anwendungen Gliederung der Vorlesung

Kapitel 7: Flüsse in Netzwerken und Anwendungen Gliederung der Vorlesung Gliederung der Vorlesung. Grundbegriffe. Elementare Graphalgorithmen und Anwendungen 3. Kürzeste Wege 4. Minimale spannende Bäume 5. Färbungen und Cliquen 6. Traveling Salesman Problem 7. Flüsse in Netzwerken

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

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

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

1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. Bäume / Graphen 5. Hashing 6. Algorithmische Geometrie

1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. Bäume / Graphen 5. Hashing 6. Algorithmische Geometrie Gliederung 1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. Bäume / Graphen 5. Hashing 6. Algorithmische Geometrie 4/3, Folie 1 2010 Prof. Steffen Lange - HDa/FbI

Mehr

Kapitel 7: Flüsse in Netzwerken und Anwendungen Gliederung der Vorlesung

Kapitel 7: Flüsse in Netzwerken und Anwendungen Gliederung der Vorlesung Gliederung der Vorlesung. Fallstudie Bipartite Graphen. Grundbegriffe 3. Elementare Graphalgorithmen und Anwendungen 4. Minimal spannende Bäume 5. Kürzeste Pfade 6. Traveling Salesman Problem 7. Flüsse

Mehr

Kapitel 9: Lineare Programmierung Gliederung

Kapitel 9: Lineare Programmierung 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

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

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

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

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

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

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

Ü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

Ü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

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

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

Kapitel 2: Formale Sprachen Gliederung. 0. Grundbegriffe 1. Endliche Automaten 2. Formale Sprachen 3. Berechnungstheorie 4. Komplexitätstheorie

Kapitel 2: Formale Sprachen Gliederung. 0. Grundbegriffe 1. Endliche Automaten 2. Formale Sprachen 3. Berechnungstheorie 4. Komplexitätstheorie Gliederung 0. Grundbegriffe 1. Endliche Automaten 2. Formale Sprachen 3. Berechnungstheorie 4. Komplexitätstheorie 2.1. 2.2. Reguläre Sprachen 2.3. Kontextfreie Sprachen 2/1, Folie 1 2015 Prof. Steffen

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

Klausur Algorithmen und Datenstrukturen

Klausur Algorithmen und Datenstrukturen Technische Universität Braunschweig Wintersemester 2016/2017 Institut für Betriebssysteme und Rechnerverbund Abteilung Algorithmik Prof. Dr. Sándor P. Fekete Phillip Keldenich Arne Schmidt Klausur Algorithmen

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

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

Kapitel 7: Flüsse in Netzwerken und Anwendungen Gliederung der Vorlesung

Kapitel 7: Flüsse in Netzwerken und Anwendungen Gliederung der Vorlesung Gliederung der Vorlesung 1. Grundbegriffe. Elementare Graphalgorithmen und Anwendungen 3. Kürzeste Wege 4. Minimale spannende Bäume 5. Färbungen und Cliquen 6. Traveling Salesman Problem 7. Flüsse in Netzwerken

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

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

Kapitel 3: Berechnungstheorie Gliederung

Kapitel 3: Berechnungstheorie Gliederung Gliederung 0. Motivation und Einordnung 1. Endliche Automaten 2. Formale Sprachen 3. Berechnungstheorie 4. Komplexitätstheorie 3.1. Einordnung 3.2. Berechnungsmodelle 3.3. Diskussion 3.4. Ergebnisse und

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

Theoretische Informatik

Theoretische Informatik Theoretische Informatik Sommersemester 2016 Steffen Lange 0/1, Folie 1 2016 Prof. Steffen Lange - HDa/FbI - Theoretische Informatik Literatur S. Lange, M. Margraf, Theoretische Informatik, Lehrmaterial

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

Klausur Algorithmen und Datenstrukturen

Klausur Algorithmen und Datenstrukturen Technische Universität Braunschweig Wintersemester 2017/2018 Institut für Betriebssysteme und Rechnerverbund Abteilung Algorithmik Prof. Dr. Sándor P. Fekete Christian Rieck Arne Schmidt Klausur Algorithmen

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

Kapitel 3: Berechnungstheorie Gliederung

Kapitel 3: Berechnungstheorie Gliederung Gliederung 0. Motivation und Einordnung 1. Endliche Automaten 2. Formale Sprachen 3. Berechnungstheorie 4. Komplexitätstheorie 3.1. Einordnung 3.2. Berechnungsmodelle 3.3. Diskussion 3.4. Ergebnisse und

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

Kapitel 4: Komplexitätstheorie Gliederung

Kapitel 4: Komplexitätstheorie Gliederung Gliederung 0. Motivation und Einordnung 1. Endliche Automaten 2. Formale Sprachen 3. Berechnungstheorie 4. Komplexitätstheorie 4.1. Motivation und Grundbegriffe 4.2. Die Komplexitätsklassen P und NP 4.3.

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

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

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

Algorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 2012 / 2013 Vorlesung 3, Donnerstag 7.

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

Mehr

Algorithmen und Datenstrukturen 1 VL Übungstest WS November 2008

Algorithmen und Datenstrukturen 1 VL Übungstest WS November 2008 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 1. Übungstest WS 2008 07. November

Mehr

Kapitel 7: Flüsse in Netzwerken und Anwendungen Gliederung der Vorlesung

Kapitel 7: Flüsse in Netzwerken und Anwendungen Gliederung der Vorlesung Gliederung der Vorlesung. Fallstudie Bipartite Graphen. Grundbegriffe. Elementare Graphalgorithmen und Anwendungen. Minimal spannende Bäume. Kürzeste Pfade. Traveling Salesman Problem. Flüsse in Netzwerken

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

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

Kapitel 5: Dynamisches Programmieren Gliederung

Kapitel 5: Dynamisches Programmieren 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

Ü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

3.2. Divide-and-Conquer-Methoden

3.2. Divide-and-Conquer-Methoden LUDWIG- MAXIMILIANS- UNIVERSITY MUNICH DEPARTMENT INSTITUTE FOR INFORMATICS DATABASE 3.2. Divide-and-Conquer-Methoden Divide-and-Conquer-Methoden Einfache Sortieralgorithmen reduzieren die Größe des noch

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

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

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

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

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

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

Klausur Algorithmen und Datenstrukturen

Klausur Algorithmen und Datenstrukturen Technische Universität Braunschweig Sommersemester 2018 Institut für Betriebssysteme und Rechnerverbund Abteilung Algorithmik Prof. Dr. Sándor P. Fekete Christian Rieck Arne Schmidt Klausur Algorithmen

Mehr

Kapitel 3: Berechnungstheorie Gliederung

Kapitel 3: Berechnungstheorie Gliederung Gliederung 0. Motivation und Einordnung 1. Endliche Automaten 2. Formale Sprachen 3. Berechnungstheorie 4. Komplexitätstheorie 3.1. Einordnung 3.2. Berechnungsmodelle 3.3. Diskussion 3.4. Ergebnisse und

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

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

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

Ü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

Ü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

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

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

Kapitel 2: Zahlentheoretische Algorithmen Gliederung

Kapitel 2: Zahlentheoretische Algorithmen 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

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

Algorithmen und Datenstrukturen 1 VL Übungstest WS November 2007

Algorithmen und Datenstrukturen 1 VL Übungstest WS November 2007 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 1. Übungstest WS 2007 16. November

Mehr

Informatik II, SS 2016

Informatik II, SS 2016 Informatik II - SS 2016 (Algorithmen & Datenstrukturen) Vorlesung 3 (27.4.2014) O-Notation, Asymptotische Analyse, Sortieren III Algorithmen und Komplexität Selection Sort Algorithmus SelectionSort (informell):

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

Objektorientierte Programmierung VL: Prof. Dr. Marco Block-Berlitz - Freie Universität Berlin Proinformatik III

Objektorientierte Programmierung VL: Prof. Dr. Marco Block-Berlitz - Freie Universität Berlin Proinformatik III Objektorientierte Programmierung VL: Prof. Dr. Marco Block-Berlitz - Freie Universität Berlin Proinformatik III Text: Hinnerk van Bruinehsen - Grafiken: Jens Fischer powered by SDS.mint SoSe 2011 1 Teil

Mehr

Algorithmische Techniken für Geometrische Probleme

Algorithmische Techniken für Geometrische Probleme Algorithmische Techniken für Geometrische Probleme Berthold Vöcking 14. Juni 2007 Inhaltsverzeichnis 1 Die Sweepline-Technik 2 1.1 Schnitte orthogonaler Liniensegmente............... 2 1.2 Schnitte beliebiger

Mehr

Kapitel 5: Minimale spannende Bäume Gliederung der Vorlesung

Kapitel 5: Minimale spannende Bäume Gliederung der Vorlesung Gliederung der Vorlesung 1. Grundbegriffe 2. Elementare Graphalgorithmen und Anwendungen 3. Kürzeste Wege. Minimale spannende Bäume. Färbungen und Cliquen. Traveling Salesman Problem. Flüsse in Netzwerken

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

Kapitel 4: Netzplantechnik Gliederung der Vorlesung

Kapitel 4: Netzplantechnik Gliederung der Vorlesung Gliederung der Vorlesung 1. Grundbegriffe 2. Elementare Graphalgorithmen und Anwendungen 3. Kürzeste Wege 4. Netzplantechnik 5. Minimal spannende Bäume 6. Traveling Salesman Problem 7. Flüsse in Netzwerken

Mehr

1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. Bäume / Graphen 5. Hashing 6. Algorithmische Geometrie

1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. Bäume / Graphen 5. Hashing 6. Algorithmische Geometrie Gliederung 1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. Bäume / Graphen 5. Hashing 6. Algorithmische Geometrie 4/2, Folie 1 2014 Prof. Steffen Lange - HDa/FbI

Mehr

Informatik II, SS 2018

Informatik II, SS 2018 Informatik II - SS 2018 (Algorithmen & Datenstrukturen) Vorlesung 2 (23.4.2018) Sortieren II, Asymptotische Analyse, O-Notation Algorithmen und Komplexität Laufzeit Zeitmessung SelectionSort n 2 Laufzeit/n

Mehr

Praktische Informatik I - Algorithmen und Datenstrukturen Wintersemester 2006/ Algorithmen und ihre formalen Eigenschaften, Datenstrukturen

Praktische Informatik I - Algorithmen und Datenstrukturen Wintersemester 2006/ Algorithmen und ihre formalen Eigenschaften, Datenstrukturen 1 Grundlagen 1.1 Algorithmen und ihre formalen Eigenschaften, Datenstrukturen Ein Algorithmus ist ein mit formalen Mitteln beschreibbares, mechanisch nachvollziehbares Verfahren zur Lösung einer Klasse

Mehr

UE Algorithmen und Datenstrukturen 1 UE Praktische Informatik 1. Übung 5. Asymptotische Laufzeitkomplexität Definition Regeln Beispiele

UE Algorithmen und Datenstrukturen 1 UE Praktische Informatik 1. Übung 5. Asymptotische Laufzeitkomplexität Definition Regeln Beispiele UE Algorithmen und Datenstrukturen 1 UE Praktische Informatik 1 Übung 5 Asymptotische Laufzeitkomplexität Definition Regeln Beispiele Institut für Pervasive Computing Johannes Kepler Universität Linz Altenberger

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

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

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

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

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

Kapitel 5: Dynamisches Programmieren Gliederung

Kapitel 5: Dynamisches Programmieren 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

1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. Bäume / Graphen 5. Hashing 6. Algorithmische Geometrie

1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. Bäume / Graphen 5. Hashing 6. Algorithmische Geometrie Gliederung 1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. äume / Graphen. Hashing 6. Algorithmische Geometrie 4/6, Folie 1 2014 Prof. Steffen Lange - HDa/FbI

Mehr