Home
Uni-Logo
 

Algorithmen und Datenstrukturen (ESE)
Entwurf, Analyse und Umsetzung von Algorithmen (IEMS)

Junior-Prof. Dr. Olaf Ronneberger

Diese Vorlesung führt grundlegende Algorithmen und Datenstrukturen ein. Sie lernen, den Ressourcenverbrauch (insbesondere Laufzeit) eines gegebenen Programms zu analysieren, sowohl theoretisch (asymptotische Analyse) also auch praktisch (konkrete Laufzeitabschätzung). Ebenso lernen Sie die Optimalität eines Programms beurteilen, sowohl theoretisch (untere Schranken) als auch praktisch (läuft das Programm so schnell wie es könnte).



Vorlesungen:
(2 SWS)

Donnerstags 10-12, Raum: 101 SR 00-010/14
Übungen:
(1 SWS)
Montags, 13-14, Raum: 101 SR 00-010/14 (nach Bedarf)
Kontakt: Claudius Korzen

Beginn: Donnerstag, 23.10.2013

ECTS-Punkte: ESE: 4; IEMS: 6

Semester lt Studienplan: ESE: 3

Klausur: Freitag, 27.2.2015, 16.00 - 18.00 Uhr, "Kinohörsaal" unter der Mensa (Gebäude 082 Raum HS 00-006)
PDF der Klausur mit Musterlösung & Bewertungsschlüssel

Voraussetzungen: Grundlegende Kenntnisse in einer objekt-orientieren höheren Programmiersprache (Java oder C++)

Links:

Übungen

No Ausgabe Abgabe (ESE) Abgabe (IEMS) Materialien & Links
1 22.10.2014 30.10.2014 13.11.2014 Insertion Sort; Heaps; Daphne, SVN, Jenkins
uebungsblatt-01.pdf
2 30.10.2014 6.11.2014 20.11.2014 Induktionsbeweise, Implementation Heapsort
uebungsblatt-02.pdf
3 6.11.2014 13.11.2014 27.11.2014 O-Notation, Theta und Omega
uebungsblatt-03.pdf,
Aufzeichnung der Uebungsstunde am 17.11.: Uebung_AlgoDatESE+IEMS_03.mp4
4 13.11.2014 20.11.2014 4.12.2014 assoziative Arrays, häufigster Städtename
uebungsblatt-04.pdf, und allCountries.zip (269MB). Code aus der Vorlesung: spike.cpp, Makefile
5 20.11.2014 27.11.2014 11.12.2014 universelles Hashing
uebungsblatt-05v2.pdf (update vom 22.11.2014 in rot), Ergebnistabelle Hashing
6 27.11.2014 4.12.2014 18.12.2014 PriorityQueue implementieren
uebungsblatt-06.pdf
PriorityQueueItem_PseudoCode.h
PriorityQueue_PseudoCode.h
7 4.12.2014 11.12.2014 8.1.2015 Dynamic Array implementieren, amortisierte Analyse
uebungsblatt-07.pdf

DynamicArrayTest.cpp
DynamicArray.h
DynamicArray.cpp
DynamicArrayMain.cpp

DynamicArrayTest.java
DynamicArray.java
DynamicArrayMain.java
MagicSystem.java
8 11.12.2014 18.12.2014 15.1.2015 Cache-Effizienz
uebungsblatt-08.pdf Code dazu: ArraySumMain.java
9 18.12.2014 8.1.2015 22.1.2015 Master-Theorem
uebungsblatt-09.pdf
10 8.1.2015 15.1.2015 29.1.2015 Binary Search Tree implementieren
uebungsblatt-10.pdf
vorlesung-10.zip (Beispiel-Code für eine doppelt verkettete Liste)
BinarySearchTreeNode.H (Pseudo-Code-Vorlage für die Übungsaufgabe)
BinarySearchTree.H
11 15.1.2015 22.1.2015 5.2.2015 Beweis O(n) für (4,9) Bäume
uebungsblatt-11.pdf
12 22.1.2015 29.1.2015 12.2.2015 Graph-Klasse, Largest Connected Component
uebungsblatt-12.pdf
Graph.H (Pseudocode-Vorlage), code_vorlesung_12.zip (Code aus der Vorlesung) saarland.graph (16MB), Ergebnistabelle LCC
13 29.1.2015 5.2.2015 19.2.2015 Dijkstra's Algorithmus
uebungsblatt-13.pdf
bawue_bayern.zip (102MB), Ergebnistabelle Dijkstra's Algorithmus
14 5.2.2015 12.2.2015 19.2.2015 (nur 2 Wochen Bearbeitungszeit, damit die Musterlösungen rechtzeitig zur Klausurvorbereitung online gestellt werden können) Dynamische Programmierung, Editierdistanz
uebungsblatt-14.pdf
Code aus der Vorlesung
aol-query-log.zip (8.6MB), Ergebnistabelle Editierdistanz

Vorlesungen

No Datum Themen Folien Aufzeichnungen (je ca. 105MB)
1 Do, 23.10.2014 Einführung, Organisatorisches, Sortieren Vorlesung_AlgoDatESE+IEMS_01.pdf, Vorlesung_AlgoDatESE+IEMS_01_handout.pdf Vorlesung_AlgoDatESE+IEMS_01.mp4
2 Do, 30.10.2014 Laufzeitanalyse MinSort und HeapSort, Induktionsbeweise Vorlesung_AlgoDatESE+IEMS_02.pdf Vorlesung_AlgoDatESE+IEMS_02.mp4
3 Do, 06.11.2014 O-Notation, Theta, Omega Vorlesung_AlgoDatESE+IEMS_03.pdf Vorlesung_AlgoDatESE+IEMS_03.mp4
4 Do, 13.11.2014 Mittlere Laufzeit, Assoziative Arrays aka Maps Vorlesung_AlgoDatESE+IEMS_04.pdf Vorlesung_AlgoDatESE+IEMS_04.mp4
5 Do, 20.11.2014 Wie baut man eine Hash Map, universelles Hashing Vorlesung_AlgoDatESE+IEMS_05.pdf Vorlesung_AlgoDatESE+IEMS_05.mp4
6 Do, 27.11.2014 Hashing Kollisionsbehandlung, Prioritätswarteschlangen Vorlesung_AlgoDatESE+IEMS_06.pdf Vorlesung_AlgoDatESE+IEMS_06.mp4
7 Do, 04.12.2014 Dynamische Felder und amortisierte Analyse Vorlesung_AlgoDatESE+IEMS_07.pdf Vorlesung_AlgoDatESE+IEMS_07.mp4
8 Do, 11.12.2014 Cache-Effizienz, "Teile und Herrsche" Vorlesung_AlgoDatESE+IEMS_08.pdf Vorlesung_AlgoDatESE+IEMS_08.mp4
9 Do, 18.12.2014 Teile und Herrsche, Mastertheorem Vorlesung_AlgoDatESE+IEMS_09.pdf Vorlesung_AlgoDatESE+IEMS_09.mp4
10 Do, 08.01.2015 Verkettete Listen, binäre Suchbäume Vorlesung_AlgoDatESE+IEMS_10.pdf Vorlesung_AlgoDatESE+IEMS_10.mp4
11 Do, 15.01.2015 Balancierte Suchbäume Vorlesung_AlgoDatESE+IEMS_11.pdf Vorlesung_AlgoDatESE+IEMS_11.mp4
12 Do, 22.01.2015 Graphen, Breitensuche, Tiefensuche, Zusammenhangskomponenten Vorlesung_AlgoDatESE+IEMS_12.pdf Vorlesung_AlgoDatESE+IEMS_12.mp4
13 Do, 29.01.2015 Kürzeste Wege, Dijkstras Algorithmus Vorlesung_AlgoDatESE+IEMS_13.pdf (Update 2.3.2015: Folie 23) Vorlesung_AlgoDatESE+IEMS_13.mp4
14 Do, 05.02.2015 Editierdistanz, dynamisches Programmieren Vorlesung_AlgoDatESE+IEMS_14.pdf Vorlesung_AlgoDatESE+IEMS_14.mp4
15 Do, 12.02.2015 Evaluation, Klausur, Vorstellung Arbeitsgruppe Vorlesung_AlgoDatESE+IEMS_15.pdf Vorlesung_AlgoDatESE+IEMS_15.mp4

last changed: 2015-01-21 by Olaf Ronneberger