MIN111: Effiziente Algorithmen
Kernmodule
MIN111: Effiziente Algorithmen
Prof. Dr. Jochen Rethmann
Prof. Dr. Jochen Rethmann
Master Informatik
Informatik
Deutsch
Wintersemester
1 Semester
5 ECTS
Deutsche Notenskala 1-5
4SL
Efficient Algorithms
Gute Programmierkenntnisse in mindestens einer Programmiersprache, grundlegende Kenntnisse in den Bereichen Algorithmen und Datenstrukturen, Kombinatorik, Stochastik, Berechenbarkeit, Komplexitätsklassen und Turingmaschinen.
WAS
Mit erfolgreichem Abschluss des Moduls sind die Studierenden in der Lage, ausgehend von gelernten Konzepten effiziente Algorithmen und geeignete Datenstrukturen für viele Fragestellungen aus der Praxis zu entwickeln und zu bewerten, verschiedene Klassen von Algorithmen zu differenzieren und sich in neue technisch-wissenschaftliche Themen einzuarbeiten.
WOMIT
Die Studierenden erreichen dieses Lernergebnis, indem sie
- verschiedene Algorithmen und Datenstrukturen in einer Programmiersprache implementieren sowie ihre Effizienz vergleichen.
- Algorithmen hinsichtlich Laufzeit und Speicherverbrauch analysieren und geeignete Lösungsansätze für unterschiedliche Problemstellungen vergleichen.
- die Lehrveranstaltungen nachbereiten, Literatur studieren sowie zusätzliche Übungsaufgaben eigenständig lösen.
WOZU
Die Studierenden nutzen diese Kompetenzen, um Programme zu entwickeln, die auch bei großen Eingaben schnell, ressourcenschonend und skalierbar arbeiten. Damit können sie algorithmische Lösungsansätze in Folgemodulen, Projekten und der beruflichen Praxis fundiert auswählen und bewerten.
- Entwurfsmethoden wie bspw. Divide and Conquer, dynamische Programmierung, Greedy, Backtracking
- Graph-Algorithmen wie bspw. Zusammenhangsprobleme, Netzwerkfluss, Matching
- spezielle Graphklassen wie bspw. Co-Graphen, Vergleichbarkeits-, chordale und planare Graphen
- Algorithmische Geometrie wie bspw. Voronoi-Diagramme, konvexe Hülle, Scan-Line-Verfahren
- Exponentialzeit-Algorithmen bspw. für SAT, Independent Set und Vertex-Cover
- Datenstrukturen wie bspw. Union-Find-Strukturen, Fibonacci-Heaps, balancierte Binärbäume, B-Bäume, Tries, Intervallbäume, Segmentbäume, Prioritätssuchbäume
- spezielle Themen wie bspw. randomisierte Algorithmen, Approximations- und Online-Algorithmen
Keine angegeben.
Klausurarbeit (120 Minuten).
- Ottmann, Widmayer: Algorithmen und Datenstrukturen. Spektrum Akademischer Verlag.
- Cormen, Leiserson, Rivest: Introduction to Algorithms. MIT Press.
- Knuth: The Art of Computer Programming. Addison-Wesley.
- Gurski, Rothe, Rothe, Wanke: Exakte Algorithmen für schwere Graphenprobleme.
- Klein: Algorithmische Geometrie. Springer Verlag.
- Hromkovič: Randomisierte Algorithmen. Vieweg + Teubner Verlag.