Modul Algorithmik, T-Katalog

Größe: px
Ab Seite anzeigen:

Download "Modul Algorithmik, T-Katalog"

Transkript

1 Modul Algorithmik, T-Katalog Sommersemester 2017 Steffen Lange 1/1, Folie Prof. Steffen Lange - HDa/FbI - Algorithmik

2 Organisatorisches u Vorlesung Folien im Netz u Übung eine Übung alle 14 Tage (Übungsblätter online), die dazu dient, dass u Organisation der Übung Sie Ihre Lösungen untereinander diskutieren, vorstellen und Feedback bekommen Sie Fragen zu Vorlesung stellen können und diese beantwortet bekommen zu Beginn der Übung werden Gruppen gebildet je Gruppe wird die Musterlösung für eine Übungsaufgabe abgestimmt ein Studierender jeder Gruppe stellt die Musterlösung vor 1/1, Folie Prof. Steffen Lange - HDa/FbI - Algorithmik

3 Organisatorisches u Prüfungsvorleistung (PVL) die PVL ist erbracht, wenn Sie im Rahmen der Übung gezeigt haben, dass Sie mindestens eine Aufgabe korrekt lösen und erklären können... da die Anzahl der Übungsgruppen nicht zur Anzahl der Teilnehmer passt, gibt es (seit heute) einen zweiten Übungstermin: Di, 2. Block (ebenfalls in der y-woche) 1/1, Folie Prof. Steffen Lange - HDa/FbI - Algorithmik

4 Literatur Th.H. Cormen, Ch.E. Leiserson, R. Rivest, C. Stein, Algorithmen - Eine Einführung, 2. Auflage, Oldenbourg Verlag, Uwe Schöning, Algorithmik, Spektrum Akademischer Verlag, Rolf Klein, Algorithmische Geometrie, 2. Auflage, Springer Juraj Hromkovič, Algorithmics for Hard Problems, 2nd Edition, Springer, /1, Folie Prof. Steffen Lange - HDa/FbI - Algorithmik

5 Ziele u allgemein... es geht vordergründig um die Themen Entwurf und Analyse von Algorithmen, also darum: korrekte und effiziente Algorithmen zu entwerfen die Korrektheit und die Laufzeit dieser Algorithmen zu beurteilen bzw. zu analysieren u ein wenig spezieller geht es um... die Fähigkeit, komplizierte Algorithmen in Bezug auf deren Korrektheit und Laufzeit zu beurteilen bzw. zu analysieren die Fähigkeit, grundlegende Konzepte aus der Komplexitätstheorie verstehen und anwenden zu können das Verständnis ausgewählter Prinzipien zum Entwurf effizienter Algorithmen die Kenntnis von der Umsetzung dieser Prinzipien im Gebiet algorithmische Geometrie 1/1, Folie Prof. Steffen Lange - HDa/FbI - Algorithmik

6 Herangehensweise u Ausgangspunkt ausgewählte algorithmische Probleme aus unterschiedlichen Bereichen u Ergebnis ein Algorithmus / mehrere Algorithmen zur Lösung dieser algorithmischen Probleme wichtig: zu jedem Algorithmus gehört eine Spezifikation von dem, was der Algorithmus garantiert, d.h. Aussagen der Art der Algorithmus löst wirklich das jeweils betrachtete algorithmische Problem (Korrektheit) der Algorithmus benötigt höchstens (mindestens) f(n) viele Rechenschritte, um für irgendeine Eingabe der Größe n ein korrektes Ergebnis zu berechnen (Effizienz) 1/1, Folie Prof. Steffen Lange - HDa/FbI - Algorithmik

7 Tools... u Fokus: Entwurf effizienter Algorithmen Dynamische Programmierung Divide-and-Conquer-Ansatz Greedy-Ansatz Scan-Line-Ansatz bzw. Sweep-Line-Ansatz Verwendung geeigneter Datenstrukturen... u Fokus: Laufzeitanalyse Lösen von Rekursionsgleichungen Amortisierte Analyse (Piggy-Bank-Methode)... 1/1, Folie Prof. Steffen Lange - HDa/FbI - Algorithmik

8 Anmerkungen u Weshalb ist eine Analyse der Laufzeit wichtig? relevante Aspekte: Benutzbarkeit des entwickelten Algorithmus (u.a. als Unterprozedur) Skalierbarkeit (Blick auf große Eingaben) Ausgangspunkt für mögliche Verbesserungen (u.a. die Verwendung geeigneter Datenstrukturen...) tieferes Verständnis des Algorithmus Beziehungen zur Komplexitätstheorie, um den Spielraum für mögliche Verbesserungen abzuschätzen (untere Schranken für Probleme) 1/1, Folie Prof. Steffen Lange - HDa/FbI - Algorithmik

9 Fahrplan für die erste Vorlesung u... schauen uns ein algorithmisches Problem genauer an diskutieren und analysieren drei unterschiedliche Algorithmen zur Lösung dieses Problems 1/1, Folie Prof. Steffen Lange - HDa/FbI - Algorithmik

10 Einführendes Beispiel u zugrunde liegende Bezeichnungen / Begriffe Zahlenfolge der Länge n, etwa a = a[1],...,a[n] Teilfolge der gegebenen Zahlenfolge, etwa a[i],...,a[k] mit 1 i k n der Wert einer Teilzahlenfolge a[i],...,a[k] der Zahlenfolge a ist wie folgt definiert: k w(a,i,k) = Σ a[j] j = i 1/1, Folie Prof. Steffen Lange - HDa/FbI - Algorithmik

11 Einführendes Beispiel u Beispiel a[1] = 1, a[2] = -3, a[3] = 2, a[4] = 1 w(a,i,k) k = 1 k = 2 k = 3 k = 4 i = i = i = i = /1, Folie Prof. Steffen Lange - HDa/FbI - Algorithmik

12 Einführendes Beispiel u algorithmische Fragestellung finde einen möglichst effizienten Algorithmus zur Lösung des folgenden algorithmischen Problems: zulässige Eingabe: Zahlenfolge a[1],...,a[n] der Länge n zulässige Ausgabe: bestimme z = max { w(a,i,k) 1 i k n }... uns interessieren Algorithmen, die möglichst wenige Additionen A(n) und Vergleiche V(n) benötigen, um dieses Problem für irgendeine Probleminstanz der Größe n zu lösen... in der Literatur nennt man dieses Problem auch das Maximale- Teilsummen-Problem 1/1, Folie Prof. Steffen Lange - HDa/FbI - Algorithmik

13 Einführendes Beispiel u zurück zum Beispiel a[1] = 1, a[2] = -3, a[3] = 2, a[4] = 1 k = 1 k = 2 k = 3 k = 4 i = i = i = i = offenbar gilt z = 3 (/* = w(a,3,4) */) 1/1, Folie Prof. Steffen Lange - HDa/FbI - Algorithmik

14 Einführendes Beispiel Algorithmus 1 u Grundidee... wie erwartet mit einer halben Idee u Beschreibung 1) Erzeuge eine Tabelle der Größe n n. 2) Bestimme für jedes Paar (i,k) mit 1 i k n den Wert w(a,i,k) und trage den Wert in die entsprechende Zelle der Tabelle ein. 3) Bestimme unter allen in der Tabelle eingetragenen Werten w(a,i,k) das Maximum und gib dieses Maximum aus.... in 2) wird folgender Zusammenhang ausgenutzt: w(a,i,k+1) = w(a,i,k) + a[k+1] 1/1, Folie Prof. Steffen Lange - HDa/FbI - Algorithmik

15 Einführendes Beispiel Algorithmus 1 u Korrektheit sollte offensichtlich sein u Analyse der Laufzeit um das interessierende Problem für eine Probleminstanz der Größe n zu lösen, benötigt dieser Algorithmus: Anzahl der Additionen: A(n) =... = 1/2*(n*(n-1)) Anzahl der Vergleiche: V(n) =... = 1/2*(n*(n+1)) - 1 Anzahl der Operationen ingesamt: T(n) = A(n) + V(n) = n 2-1 1/1, Folie Prof. Steffen Lange - HDa/FbI - Algorithmik

16 Einführendes Beispiel Algorithmus 2 u Grundidee dem Divide-and-Conquer-Ansatz folgen ein albernes, illustrierendes Beispiel (/* Maximum bestimmen */) es sei a[1],...,a[8] die gegebene Zahlenfolge es sei z = max { a[j] 1 j 8 } um z zu bestimmen, könnte man wie folgt vorgehen bestimme z 1 = max { a[j] 1 j 4 } bestimme z 2 = max { a[j] 5 j 8 } setze z = max { z 1,z 2 }... Hintergrund: das maximale Element befindet sich in der linken oder in der rechten Teilfolge 1/1, Folie Prof. Steffen Lange - HDa/FbI - Algorithmik

17 Einführendes Beispiel Algorithmus 2 u... zurück zu unserem Problem es sei a[1],...,a[8] die gegebene Zahlenfolge es sei z = max { w(a,i,k) 1 i k 8 } um z zu bestimmen, könnte man wie folgt vorgehen: bestimme z 1 = max { w(a,i,k) 1 i k 4 } bestimme z 2 = max { w(a,i,k) 5 i k 8 } bestimme z 3 = max { w(a,i,k) 1 i 4 und 5 k 8 } bestimme z = max { z 1,z 2,z 3 }... Hintergrund: die maximale Teilfolge befindet sich vollständig in der linken oder in der rechten Teilfolge oder sie beginnt in der linken Teilfolge und endet in der rechten Teilfolge 1/1, Folie Prof. Steffen Lange - HDa/FbI - Algorithmik

18 Einführendes Beispiel Algorithmus 2 u... Ergänzung z 3 = max { w(a,i,k) 1 i 4 und 5 k 8 } kann offenbar wie folgt bestimmt werden: bestimme x = max { w(a,i,4) 1 i 4 } bestimme y = max { w(a,5,k) 5 k 8 } setze z = x + y 1/1, Folie Prof. Steffen Lange - HDa/FbI - Algorithmik

19 Einführendes Beispiel Algorithmus 2 u Bezeichnungen es sei a[1],...,a[n] eine Zahlenfolge der Länge n es seien i und k mit 1 i k n gewählt w max (a,i,k) = max { w(a,i,k ) i i k k } w rechts (a,i,k) = max { w(a,i,k) i i k } w links (a,i,k) = max { w(a,i,k ) i k k }... es geht also beim Maximalen-Teilsummen-Problem darum, den Wert w max (a,1,n) zu bestimmen 1/1, Folie Prof. Steffen Lange - HDa/FbI - Algorithmik

20 Einführendes Beispiel Algorithmus 2 u... Anmerkung um die Beschreibung und die Analyse des Algorithmus zu vereinfachen, gehen wir im Folgenden davon aus, dass die Länge n der gegebene Zahlenfolge eine Zweierpotenz ist, d.h. es gilt n = 2 k für eine natürliche Zahl k... falls n keine Zweierpotenz ist, wähle die nächst größere Zweierpotenz und verlängere die gegebene Zahlenfolge geeignet 1/1, Folie Prof. Steffen Lange - HDa/FbI - Algorithmik

21 Einführendes Beispiel Algorithmus 2 u Beschreibung (/* Rückgabewert w max (a,1,n) */) 1) Falls n = 1, so gib a[1] aus. 2) Falls n > 1, so gehe gehe wie folgt vor: a) Divide-Schritt: berechne m = n/2 b) Conquer-Schritt: berechne mit Hilfe dieses Algorithmus die Rückgabewerte w max (a,1,m) und w max (a,m+1,n). c) Merge-Schritt: bestimme die Werte w rechts (a,1,m) und w links (a,m+1,n) bestimme das Maximum der drei Werte w max (a,1,m), w max (a,m+1,n) und w rechts (a,1,m) + w links (a,m+1,n) gib dieses Maximum aus 1/1, Folie Prof. Steffen Lange - HDa/FbI - Algorithmik

22 Einführendes Beispiel Algorithmus 2 u Korrektheit sollte offensichtlich sein u Analyse der Laufzeit es bezeichne T(n) die Anzahl der Additionen und Vergleiche von Algorithmus 2 bei Eingabe einer Zahlenfolge der Länge n falls n = 1 ist, gilt T(n) = 0 falls n > 1 ist, gilt Beitrag von a): 0 Beitrag von b): 2*T(m) für m = n/2 Beitrag von c): 2*n-1 1/1, Folie Prof. Steffen Lange - HDa/FbI - Algorithmik

23 Einführendes Beispiel Algorithmus 2 u... zusammengefasst ergibt sich T(n) = 2*T(n/2) + 2*n - 1 falls man n = 2 k setzt, erhält man durch sukzessives Einsetzen: T(n) = 2*T(n/2) + 2*n - 1 = = 2*n*log 2 (n) - n + 1 1/1, Folie Prof. Steffen Lange - HDa/FbI - Algorithmik

24 Einführendes Beispiel Algorithmus 2 u... am Beispiel T(2 3 ) = 2*T(2 2 ) + 2* = 2*[2*T(2 1 ) + 2*2 2-1] + 2* = 2 2 *T(2 1 ) + 2* * = 2 2 *[2*T(2 0 ) + 2*2 1-1] + 2* * = 2 3 *T(2 0 ) + 2* * * = 2 3 *0+ 2* * * = 2*2 3 * = 2*2 3 * da n = 2 3 und k = log 2 (n) gilt, vermuten wir: T(n) = 2*n*log 2 (n) - n das diese Vermutung richtig ist, kann man mit vollständiger Induktion beweisen (können Sie das) 1/1, Folie Prof. Steffen Lange - HDa/FbI - Algorithmik

25 Einführendes Beispiel Algorithmus 3 u Grundidee dem Scan-Line-Ansatz bzw. Sweep-Line-Ansatz folgen ein albernes, illustrierendes Beispiel (/* Maximum bestimmen */) es sei a[1],...,a[8] die gegebene Zahlenfolge es sei z = max { a[j] 1 j 8 } es sei z 1 = max { a[j] 1 j 7 } bereits bekannt um z zu bestimmen, könnte man wie folgt vorgehen: setze z = max { z 1,a[8] }... Hintergrund: das maximale Element befindet sich im Anfangsstück der Zahlenfolge oder ist gleich dem letzten Element 1/1, Folie Prof. Steffen Lange - HDa/FbI - Algorithmik

26 Einführendes Beispiel Algorithmus 3 u... zurück zu unserem Problem es sei a[1],...,a[8] die gegebene Zahlenfolge es sei z = max { w(a,i,k) 1 i k 8 } es sei z 1 = max { w(a,i,k) 1 i k 7 } bereits bekannt um z zu bestimmen, könnte man wie folgt vorgehen: bestimme z 2 = max { w rechts (a,i,8) 1 i 8 } bestimme z = max { z 1,z 2 }... Hintergrund: die maximale Teilfolge befindet sich vollständig im Anfangsstück der Zahlenfolge oder sie endet beim letzten Element 1/1, Folie Prof. Steffen Lange - HDa/FbI - Algorithmik

27 Einführendes Beispiel Algorithmus 3 u... Ergänzung z 2 = max { w rechts (a,i,8) 1 i 8 } kann offenbar wie folgt bestimmt werden: bestimme z 3 = max { w rechts (a,i,7) 1 i 7 } falls z 3 < 0, so ist z 2 = a[8] falls z 3 0, so ist z 2 = z 3 + a[8]... anders formuliert: z 2 = max { a[8],z 3 +a[8] } 1/1, Folie Prof. Steffen Lange - HDa/FbI - Algorithmik

28 Einführendes Beispiel Algorithmus 3 u Beschreibung 1. Setze M = a[1] und R = M. 2. Für z = 2,...,n: 3. Gib M aus. Setze R = R + a[z]. Setze R = max { R, a[z] }. Setze M = max { M,R }. 1/1, Folie Prof. Steffen Lange - HDa/FbI - Algorithmik

29 Einführendes Beispiel Algorithmus 3 u Korrektheit (/* Schleifeninvariante */)... für jedes z mit 2 z n gilt: M = w max (a,1,z) R = w rechts (a,1,z) u Analyse der Laufzeit A(n) = n - 1 V(n) = 2*(n - 1) T(n) = A(n) + V(n) = 3*(n - 1) 1/1, Folie Prof. Steffen Lange - HDa/FbI - Algorithmik

30 Einführendes Beispiel u Vergleich der drei vorgestellten Algorithmen Anzahl Operationen Algorithmus 1 Algorithmus 2 Algorithmus 3 n = 4 (= 2 2 ) n = 16 (=2 4 ) n= 64 (=2 6 ) n = 256 (=2 8 ) n = 1024 (=2 10 ) /1, Folie Prof. Steffen Lange - HDa/FbI - Algorithmik

31 Gliederung der Vorlesung 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 1/1, Folie Prof. Steffen Lange - HDa/FbI - Algorithmik

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

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

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

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

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

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

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

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

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

Algorithmen und Datenstrukturen. Organisatorisches. Christian Komusiewicz Ernst-Abbe-Platz 2, R3315

Algorithmen und Datenstrukturen. Organisatorisches. Christian Komusiewicz Ernst-Abbe-Platz 2, R3315 Algorithmen und Datenstrukturen Christian Komusiewicz Ernst-Abbe-Platz 2, R3315 christian.komusiewicz@uni-jena.de Friedrich-Schiller-Universität Jena Institut für Informatik http://users.fmi.uni-jena.de/

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

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

Algorithmen & Datenstrukturen

Algorithmen & Datenstrukturen Algorithmen & Datenstrukturen Prof. Dr. Gerd Stumme Universität Kassel FB Elektrotechnik/Informatik FG Wissensverarbeitung Sommersemester 2009 Ziele der Veranstaltung 1 Kennenlernen grundlegender Algorithmen

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen Prof. Dr. Ralf Möller Universität zu Lübeck Institut für Informationssysteme Stefan Werner (Übungen) sowie viele Tutoren Teilnehmerkreis und Voraussetzungen Studiengänge

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

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

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

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

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

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

Mehr

Algorithmen und Datenstrukturen (AuD) Prof. Dr. Claudia Eckert und Dr. Thomas Stibor

Algorithmen und Datenstrukturen (AuD) Prof. Dr. Claudia Eckert und Dr. Thomas Stibor Algorithmen und Datenstrukturen (AuD) Prof. Dr. Claudia Eckert und Dr. Thomas Stibor Organisatorisches: Vorlesung 4 SWS, Zentralübung 2 SWS: 6 Credit Points Mi 9:45 11:15 Raum 1200 (Vorlesung) Do 8:00

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

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

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

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen Wintersemester 2012/13 1. Vorlesung Kapitel 1: Sortieren Prof. Dr. Alexander Wolff Lehrstuhl für Informatik I Das Problem Eingabe Gegeben: eine Folge A = a 1, a 2,..., a

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

Theoretische Informatik: Berechenbarkeit und Formale Sprachen

Theoretische Informatik: Berechenbarkeit und Formale Sprachen Theoretische Informatik: Berechenbarkeit und Formale Sprachen Prof. Dr. F. Otto Fachbereich Elektrotechnik/Informatik, Universität Kassel 34109 Kassel, Germany E-mail: otto@theory.informatik.uni-kassel.de

Mehr

Kapitel 4: Minimal spannende Bäume Gliederung der Vorlesung

Kapitel 4: Minimal spannende Bäume Gliederung der Vorlesung Kapitel : Minimal spannende Bäume Gliederung der Vorlesung. Fallstudie Bipartite Graphen 2. Grundbegriffe. Elementare Graphalgorithmen und Anwendungen. Minimal spannende Bäume. Kürzeste Wege. Traveling

Mehr

Theoretische Informatik Kap 2: Berechnungstheorie

Theoretische Informatik Kap 2: Berechnungstheorie Gliederung der Vorlesung 0. Grundbegriffe 1. Formale Sprachen/Automatentheorie 1.1. Grammatiken 1.2. Reguläre Sprachen 1.3. Kontextfreie Sprachen 2. Berechnungstheorie 2.1. Berechenbarkeitsmodelle 2.2.

Mehr

Theorieseminar Perlen der theoretischen Informatik

Theorieseminar Perlen der theoretischen Informatik Theorieseminar Perlen der theoretischen Informatik Wintersemester 29/ Steffen Lange Folie 29 Prof. Steffen Lange - HDa/FbI - Theorieseminar Organisatorisches! Fahrplan. Seminar (/* heute */) Vorstellung

Mehr

Kapitel 4: Minimale spannende Bäume Gliederung der Vorlesung

Kapitel 4: Minimale spannende Bäume Gliederung der Vorlesung Kapitel : Minimale spannende Bäume Gliederung der Vorlesung. Grundbegriffe 2. Elementare Graphalgorithmen und Anwendungen. Kürzeste Wege. Minimale spannende Bäume. Färbungen und Cliquen. Traveling Salesman

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

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

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

Algorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 2014 / Vorlesung 2, Donnerstag 30. Algorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 2014 / 2015 Vorlesung 2, Donnerstag 30. Oktober 2014 (Laufzeitanalyse MinSort / HeapSort, Induktion) Junior-Prof.

Mehr

1. Einführung. Was ist ein Algorithmus (eine Datenstruktur)? Welche Probleme kann man damit lösen? Warum betrachten wir (effiziente) Algorithmen?

1. Einführung. Was ist ein Algorithmus (eine Datenstruktur)? Welche Probleme kann man damit lösen? Warum betrachten wir (effiziente) Algorithmen? 1. Einführung Was ist ein Algorithmus (eine Datenstruktur)? Welche Probleme kann man damit lösen? Warum betrachten wir (effiziente) Algorithmen? Wie beschreiben wir Algorithmen? Nach welchen Kriterien

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

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

Algorithmen und Datenstrukturen (AuD) Prof. Dr. Claudia Eckert

Algorithmen und Datenstrukturen (AuD) Prof. Dr. Claudia Eckert Algorithmen und Datenstrukturen (AuD) Prof. Dr. Claudia Eckert Organisatorisches: Vorlesung 4 SWS, Zentralübung 2 SWS: 6 Credit Points Mi 10:30-12:00 Raum 1200 (Vorlesung) Do 8:15-9:45 Raum 1200 (Vorlesung)

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

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

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

Mehr

Teil 2 - Softwaretechnik. Modul: Programmierung B-PRG Grundlagen der Programmierung 1 Teil 2. Übersicht. Softwaretechnik

Teil 2 - Softwaretechnik. Modul: Programmierung B-PRG Grundlagen der Programmierung 1 Teil 2. Übersicht. Softwaretechnik Grundlagen der Programmierung 1 Modul: Programmierung B-PRG Grundlagen der Programmierung 1 Teil 2 Softwaretechnik Prof. Dr. O. Drobnik Professur Architektur und Betrieb verteilter Systeme Institut für

Mehr

Kapitel 3: Grundlegende Ergebnisse aus der Komplexitätstheorie Gliederung

Kapitel 3: Grundlegende Ergebnisse aus der Komplexitätstheorie Gliederung Gliederung 1. Berechenbarkeitstheorie 2. Grundlagen 3. Grundlegende Ergebnisse aus der Komplexitätstheorie 4. Die Komplexitätsklassen P und NP 5. Die Komplexitätsklassen RP und BPP 3.1. Ressourcenkompression

Mehr

Grundlagen der Programmierung

Grundlagen der Programmierung GdP12 Slide 1 Grundlagen der Programmierung Vorlesung 12 Sebastian Iwanowski FH Wedel GdP12 Slide 2 Entwurf von Algorithmen Wie klassifiziert man Algorithmen? offensichtlich nicht durch die Unterscheidung

Mehr

Theoretische Informatik: Berechenbarkeit und Formale Sprachen

Theoretische Informatik: Berechenbarkeit und Formale Sprachen Theoretische Informatik: Berechenbarkeit und Formale Sprachen Prof. Dr. F. Otto Fachbereich Elektrotechnik/Informatik, Universität Kassel 34109 Kassel, Germany E-mail: otto@theory.informatik.uni-kassel.de

Mehr

Einführung in die Informatik

Einführung in die Informatik Einführung in die Informatik Christian Rössl Wintersemester 2017/18 Einführung in die Informatik Christian Rössl EinfInf 2017: Übersicht 2 Berechenbarkeit Rekursion Java Analyse Theoretische Grundlagen

Mehr

Theoretische Informatik: Berechenbarkeit und Formale Sprachen

Theoretische Informatik: Berechenbarkeit und Formale Sprachen Theoretische Informatik: Berechenbarkeit und Formale Sprachen Prof. Dr. F. Otto Fachbereich Elektrotechnik/Informatik, Universität Kassel 34109 Kassel, Germany E-mail: otto@theory.informatik.uni-kassel.de

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Lehrstuhl für Informatik I Algorithmen und Datenstrukturen Wintersemester 2013/14 Organisatorisches Vorlesung: Übungsbetreuung: Übungen: Programmiertutorium: Alexander Wolff (E29) Krzysztof Fleszar (E13)

Mehr

Algorithmen und Datenstrukturen Sommersemester 2007

Algorithmen und Datenstrukturen Sommersemester 2007 Algorithmen und Datenstrukturen Sommersemester 2007 Steffen Reith reith@informatik.fh-wiesbaden.de Fachhochschule Wiesbaden 4. April 2007 Steffen Reith Algorithmen und Datenstrukturen 4. April 2007 1 /

Mehr

Polynomialzeit- Approximationsschema

Polynomialzeit- Approximationsschema Polynomialzeit- Approximationsschema 27.01.2012 Elisabeth Sommerauer, Nicholas Höllermeier Inhalt 1.NP-Vollständigkeit Was ist NP-Vollständigkeit? Die Klassen P und NP Entscheidungsproblem vs. Optimierungsproblem

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

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen Wintersemester 2013/14 1. Vorlesung Kapitel 1: Sortieren Prof. Dr. Alexander Wolff Lehrstuhl für Informatik I Das Problem Eingabe Gegeben: eine Folge A = a 1, a 2,..., a

Mehr

ADS. 1. Vorlesung. Techniken der Programmentwicklung Prof. Dr. Wolfgang Schramm

ADS. 1. Vorlesung. Techniken der Programmentwicklung Prof. Dr. Wolfgang Schramm ADS 1. Vorlesung Techniken der Programmentwicklung Prof. Dr. Wolfgang Schramm 6.10.2016 ORGANISATORISCHES Algorithmen & Datenstrukturen Prof. Dr. Wolfgang Schramm Der Dozent 2 Prof. Dr. Wolfgang Schramm

Mehr

Algorithmen & Komplexität

Algorithmen & Komplexität Algorithmen & Komplexität Angelika Steger Institut für Theoretische Informatik Was ist ein Algorithmus? Ein Algorithmus ist eine eindeutige Handlungsvorschrift, [bestehend] aus endlich vielen, wohldefinierten

Mehr

Entscheidungsbäume. Definition Entscheidungsbaum. Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen?

Entscheidungsbäume. Definition Entscheidungsbaum. Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen? Entscheidungsbäume Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen? Definition Entscheidungsbaum Sei T ein Binärbaum und A = {a 1,..., a n } eine zu sortierenden Menge. T ist ein Entscheidungsbaum

Mehr

Das Praktikum mit Seminar vertieft die in der Vorlesung erworbenen Fähigkeiten in theoretischer und praktischer Hinsicht:

Das Praktikum mit Seminar vertieft die in der Vorlesung erworbenen Fähigkeiten in theoretischer und praktischer Hinsicht: 66/2006 vom 13.10.2006 FU-Mitteilungen Seite 25 e. Module affiner Bereiche Modul: Chemie für Physiker Aneignung der Grundlagen der Chemie mit Ausnahme der organischen Chemie sowie Erlangung eines Allgemeinwissens

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

Amortisierte Laufzeitanalyse

Amortisierte Laufzeitanalyse Paris-Lodron Universität Salzburg 24 Januar, 2014 Inhaltsverzeichnis 1 Einführung Definition Beispiel:Stapeloperationen Beispiel: Binärzähler (1/2) Beispiel: Binärzähler (2/2) 2 Analyse der Stack mittels

Mehr

Übung Algorithmen und Datenstrukturen

Übung Algorithmen und Datenstrukturen Übung Algorithmen und Datenstrukturen Sommersemester 2015 Marc Bux, Humboldt-Universität zu Berlin Agenda Schreibtischtest zu Suchverfahren Amortisierte Analyse Max-Heaps und HeapSort 2 Agenda Schreibtischtest

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

Algorithmen und Berechnungskomplexität I

Algorithmen und Berechnungskomplexität I Algorithmen und Berechnungskomplexität I Prof. Dr. Institut für Informatik Wintersemester 2013/14 Organisatorisches Vorlesung Dienstag und Donnerstag, 12:30 14:00 Uhr (HS 1) Übungen 16 Übungsgruppen Anmeldung

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

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

Klausur Algorithmen und Datenstrukturen II 10. August 2015

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

Mehr

Abschnitt: Algorithmendesign und Laufzeitanalyse

Abschnitt: Algorithmendesign und Laufzeitanalyse Abschnitt: Algorithmendesign und Laufzeitanalyse Definition Divide-and-Conquer Paradigma Divide-and-Conquer Algorithmen verwenden die Strategien 1 Divide: Teile das Problem rekursiv in Subproblem gleicher

Mehr

Informatikgrundlagen (WS 2016/2017)

Informatikgrundlagen (WS 2016/2017) Informatikgrundlagen (WS 2016/2017) Klaus Berberich (klaus.berberich@htwsaar.de) Wolfgang Braun (wolfgang.braun@htwsaar.de) 0. Organisatorisches Dozenten Klaus Berberich (klaus.berberich@htwsaar.de) Sprechstunde

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen Prof. Dr. Ralf Möller Universität zu Lübeck Institut für Informationssysteme Tanya Braun (Übungen) sowie viele Tutoren Teilnehmerkreis und Voraussetzungen Studiengänge Bachelor

Mehr

Kapitel 3: Berechnungstheorie Algorithmisch unlösbare Probleme. Einordnung

Kapitel 3: Berechnungstheorie Algorithmisch unlösbare Probleme. Einordnung Einordnung es gibt algorithmische Probleme, die algorithmisch unlösbar sind (/ * d.h. unter der Annahme, das die Churchsche These richtig ist, kann es nachweislich kein Computerprogramm geben, welches

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 011 Übungsblatt 30. Mai 011 Grundlagen: Algorithmen und Datenstrukturen

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

FD Informatik Mauch SSDL (WHRS) Reutlingen. Algorithmen

FD Informatik Mauch SSDL (WHRS) Reutlingen. Algorithmen FD Informatik Mauch SSDL (WHRS) Reutlingen Algorithmen Überblick Definition Notwendigkeit Realisierung Grundkonzepte Umsetzung im Unterricht Algorithmus? Ein Algorithmus ist eine Verwaltungsvorschrift,

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. Grundbegriffe. Endliche Automaten 2. Formale Sprachen 3. Berechnungstheorie 4. Komplexitätstheorie 2.. Chomsky-Grammatiken 2.2. Reguläre Sprachen (noch weiter) 2.3. Kontextfreie Sprachen 2/4,

Mehr

Algorithmen und Datenstrukturen 1. EINLEITUNG. Algorithmen und Datenstrukturen - Ma5hias Thimm 1

Algorithmen und Datenstrukturen 1. EINLEITUNG. Algorithmen und Datenstrukturen - Ma5hias Thimm 1 Algorithmen und Datenstrukturen 1. EINLEITUNG Algorithmen und Datenstrukturen - Ma5hias Thimm (thimm@uni-koblenz.de) 1 Allgemeines Einleitung Zu den Begriffen: Algorithmen und Datenstrukturen systematische

Mehr

Algorithmen und Datenstrukturen CS1017

Algorithmen und Datenstrukturen CS1017 Algorithmen und Datenstrukturen CS1017 Th. Letschert TH Mittelhessen Gießen University of Applied Sciences Organisatorisches und Einführung Lehrpersonal Dozent Dr. Letschert Tutoren Alissia Sauer Jonas

Mehr

P, NP und NP -Vollständigkeit

P, NP und NP -Vollständigkeit P, NP und NP -Vollständigkeit Mit der Turing-Maschine haben wir einen Formalismus kennengelernt, um über das Berechenbare nachdenken und argumentieren zu können. Wie unsere bisherigen Automatenmodelle

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

Algorithmen I. Dennis Hofheinz. Übungen: Lukas Barth und Lisa Kohl. Institut für theoretische Informatik Web: https://crypto.iti.kit.

Algorithmen I. Dennis Hofheinz. Übungen: Lukas Barth und Lisa Kohl. Institut für theoretische Informatik Web: https://crypto.iti.kit. Algorithmen I Dennis Hofheinz Übungen: Lukas Barth und Lisa Kohl Institut für theoretische Informatik Web: https://crypto.iti.kit.edu/algo-sose16 (Folien von Peter Sanders) KIT Institut für Theoretische

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

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

Algorithmen I. Prof. Jörn Müller-Quade. Übungen: Björn Kaidel, Sebastian Schlag und Sascha Witt

Algorithmen I. Prof. Jörn Müller-Quade. Übungen: Björn Kaidel, Sebastian Schlag und Sascha Witt Algorithmen I Prof. Jörn Müller-Quade Übungen: Björn Kaidel, Sebastian Schlag und Sascha Witt Institut für theoretische Informatik Web: https://crypto.iti.kit.edu/index.php?id=799 (Folien von Peter Sanders)

Mehr

Algorithmen und Datenstrukturen. PD Ma&hias Thimm

Algorithmen und Datenstrukturen. PD Ma&hias Thimm Algorithmen und Datenstrukturen PD Ma&hias Thimm Modulnummer, Addressaten und Voraussetzungen Modulnummer: 04IN1014 Adressaten: Bachelor Informa:k, 2. Jahr Bachelor Computervisualis:k, 2. Jahr Bachelor

Mehr

2.7 Der Shannon-Fano-Elias Code

2.7 Der Shannon-Fano-Elias Code 2.7 Der Shannon-Fano-Elias Code Die Huffman-Codierung ist ein asymptotisch optimales Verfahren. Wir haben auch gesehen, dass sich die Huffman-Codierung gut berechnen und dann auch gut decodieren lassen.

Mehr

Kapitel 0: Grundbegriffe Gliederung

Kapitel 0: Grundbegriffe Gliederung Gliederung 0. Grundbegriffe 1. Endliche Automaten 2. Formale Sprachen 3. Berechenbarkeitstheorie 4. Komplexitätstheorie 5. Kryptographie 0/2, Folie 1 2009 Prof. Steffen Lange - HDa/FbI - Theoretische Informatik

Mehr

7. Sortieren Lernziele. 7. Sortieren

7. Sortieren Lernziele. 7. Sortieren 7. Sortieren Lernziele 7. Sortieren Lernziele: Die wichtigsten Sortierverfahren kennen und einsetzen können, Aufwand und weitere Eigenschaften der Sortierverfahren kennen, das Problemlösungsparadigma Teile-und-herrsche

Mehr

Algorithmen und Datenstrukturen Tutorium Übungsaufgaben

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

Mehr

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

Proseminar Online Algorithmen, Prof. Dr. Rolf Klein

Proseminar Online Algorithmen, Prof. Dr. Rolf Klein Proseminar Online Algorithmen, Prof. Dr. Rolf Klein Vortrag von Michael Daumen am 13.12.2000 Thema : Minimum Spanning Tree und 2-Approximation der TSP-Tour Inhalt des Vortrags : 1. genaue Vorstellung des

Mehr

Algorithmen und Datenstrukturen (für ET/IT) Programm heute. Sommersemester Dr. Tobias Lasser. 1 Organisation

Algorithmen und Datenstrukturen (für ET/IT) Programm heute. Sommersemester Dr. Tobias Lasser. 1 Organisation Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 2014 Dr. Tobias Lasser Computer Aided Medical Procedures Technische Universität München Programm heute 1 Organisation 2 Einführung Ziele und Inhalt

Mehr

Datenstrukturen und SS Robert Elsässer

Datenstrukturen und SS Robert Elsässer Datenstrukturen und Algorithmen Robert Elsässer Organisatorisches Vorlesung: Mo 11:15-12:45 Audimax Fr 11:15-12:45 Raum G Zentralübung: Do 13:00 13:45 Raum G Beginn: nächste Woche Übungen: Beginn: nächste

Mehr

Algorithmen und Datenstrukturen (für ET/IT)

Algorithmen und Datenstrukturen (für ET/IT) Algorithmen und Datenstrukturen (für ET/IT) Wintersemester 2012/13 Dr. Tobias Lasser Computer Aided Medical Procedures Technische Universität München Programm 1 Organisation 2 Einführung Ziele und Inhalt

Mehr

Algorithmen und Berechnungskomplexität I

Algorithmen und Berechnungskomplexität I Institut für Informatik I Wintersemester 2010/11 Organisatorisches Vorlesung Montags 11:15-12:45 Uhr (AVZ III / HS 1) Mittwochs 11:15-12:45 Uhr (AVZ III / HS 1) Dozent Professor für theoretische Informatik

Mehr