BIN302: Algorithmen und Datenstrukturen
Lernpfad Informatisches Denken und Konzepte
BIN302: Algorithmen und Datenstrukturen
Prof. Dr. Jochen Rethmann
Prof. Dr. Jochen Rethmann
Bachelor Informatik
Informatik
Deutsch
Sommersemester
1 Semester
5 ECTS
Deutsche Notenskala 1-5
2 V | 2 Ü | - P | - S
Algorithms and Data Structures
- BIN004: Einführung in die Programmierung: Variablen, Kontrollstrukturen, Funktionen, einfache Datenstrukturen.
- BIN003: Mathematik-Grundlagen der Informatik: mathematische Verfahren, logisches Denken, Beweise.
WAS
Mit erfolgreichem Abschluss des Moduls sind die Studierenden in der Lage, für typische algorithmische Problemstellungen geeignete, korrekte und effiziente Lösungen unter Verwendung angemessener Datenstrukturen systematisch zu entwickeln.
WOMIT
Die Studierenden erreichen dieses Lernergebnis, indem sie
- Problemstellungen abstrahieren und mithilfe geeigneter abstrakter Datentypen und Datenstrukturen modellieren,
- Datenstrukturen anhand ihrer Operationen sowie ihres Zeit- und Speicherbedarfs untersuchen und auswählen,
- grundlegende Entwurfsparadigmen auf algorithmische Problemstellungen anwenden,
- die Korrektheit einfacher Algorithmen insbesondere mithilfe von Invarianten begründen,
- iterative und rekursive Algorithmen asymptotisch sowie experimentell analysieren,
- Algorithmen und Datenstrukturen beschreiben, programmieren und testen,
- typische Operationen wie Suchen, Einfügen und Löschen beispielhaft für Datenstrukturen durchführen,
- Lösungsalternativen unter Berücksichtigung von Laufzeit, Speicherbedarf, Eingabeeigenschaften und Implementierungsaufwand bewerten.
WOZU
Die Studierenden nutzen diese Kompetenzen, um softwarebasierte Problemlösungen hinsichtlich Effizienz und Skalierbarkeit fachlich fundiert einschätzen und gestalten zu können. Dies unterstützt spätere Module und Projekte, in denen Datenmengen, Ressourcenbedarf oder algorithmische Korrektheit eine zentrale Rolle spielen.
- Datenstrukturen: Arrays, Stacks, verkettete Listen, Bäume, Hash-Tabellen, Heaps und Warteschlangen
- Komplexität und asymptotische Aufwandsabschätzung
- Landau-Symbole und grundlegende Komplexitätsklassen
- Entwurfsmethoden: Divide und Conquer, Greedy, dynamische Programmierung, Backtracking und Branch and Bound
- Sortierverfahren: Quicksort, Mergesort, Heapsort, Radixsort, Bucketsort sowie untere Schranken
- Graphalgorithmen: Breitensuche, Tiefensuche, minimale Spannbäume, kürzeste Wege
Keine angegeben.
Klausurarbeit (120 Minuten).
- Thomas Ottmann; Peter Widmayer: Algorithmen und Datenstrukturen. 5. Auflage, Spektrum Akademischer Verlag, 2012.
- Thomas H. Cormen; Charles E. Leiserson; Ronald L. Rivest; Clifford Stein: Algorithmen: Eine Einführung. 4. Auflage, Oldenbourg Verlag, 2013.
- Robert Sedgewick; Kevin Wayne: Algorithmen. 4. Auflage, Pearson Studium, 2014.
- Volker Heun: Grundlegende Algorithmen. Vieweg+Teubner, 2008.