Algorithmen und Datenstrukturen (AuD)
Inhalte
Die Modellierung eines Problems und die Entwicklung von Algorithmen zur Lösung dieses Problems mit dem Computer sind zentraler Bestandteil der Informatik. Unabhängig von einer späteren Ausrichtung in theoretischer, praktischer oder anwendungsbezogener Informatik sind fundamentale Kenntnisse in dem Prozess des Algorithmenentwurfs unabdingbar. Im Rahmen dieser Veranstaltung werden Entwurfsprinzipien für effiziente Algorithmen und Datenstrukturen vermittelt. Dabei werden eine Reihe von grundlegenden Algorithmen und Datenstrukturen vorgestellt, die zur Lösung häufig auftretender Teilprobleme komplexer Fragestellungen gewinnbringend eingesetzt werden können.
Themen in der Vorlesung sind unter anderem:
- Rechnermodelle und Komplexitäsmaße
- Komplexitäsanalyse von iterativen und rekursiven Algorithmen
- Elementare Datenstrukturen wie z.B. Listen, Stapel, Schlangen, Bäume
- Dynamische Datenstrukturen: Hashing, (balancierte) Suchbäume
- Algorithmen für Suchen und Sortieren
- Graphalgorithmen
- Algorithmische Entwurfsmethoden wie dynamische Programmierung, Backtracking, Branch & Bound
- Umgang mit schwierigen Problemen
Dabei steht neben der Vorstellung der Funktionsweise eines Algorithmus stets auch Betrachtungen zu seiner Laufzeit, seines Speicherbedarfs und seiner Korrektheit im Zentrum der Vorlesung.
Lernziel
- Grundlagen und Faktenwissen im Bereich Algorithmen und Datenstrukturen
- Sicherer Umgang mit Entwurfsmethoden für effiziente Algorithmen und Datenstrukturen
- Selbstständiges Aneignen von neuen Algorithmen, Datenstrukturen und Analysemethoden
- Selbstständiges kreatives Entwickeln von Algorithmen und Datenstrukturen
Vorlesung
- Mi 9:15-11:45h Chemie A wöchentlich
Übung: zweiwöchentlich in Kleingruppen
Prüfung
- Mon, 12. Feb. 2018 09:30-11:30
- Mon, 5. Mar. 2018 09:30-11:30
Literatur
Den umfangreichen Klassiker gibt es auf deutsch und englisch:
- Cormen, Leiserson, Rivest, Stein: Introduction to Algorithms, 3nd Edition, MIT Press 2009
- Cormen, Leiserson, Rivest, Stein: Algorithmen - Eine Einführung, Oldenbourg Verlag, 2010
Ein neuerer Klassiker, auch sehr umfangreich, nur auf englisch:
- Jon Kleinberg, Eva Tardos: Algorithm Design, Addison-Wesley 2005.
Und zwei einführende, populärwissenschaftliche Bücher zum zwischendurch lesen:
- Berthold Vöcking et al: Taschenbuch der Algorithmen. Springer, 2008.
- MacCormick: 9 Algorithms that changed the future. Princeton University Press, 2012