Summer Semester 24

Lecture

Datenstrukturen und Algorithmen (DSA)

Lecturer:
  • Prof. Dr.-Ing. Amr Rizk, (habil.)
Term:
Summer Semester 2024
Time:
Lecture Fr. 10:15 - 11:45 , Exercise Fr. 08:30 - 10:00
Room:
Lecture/Exercise: SH 601
Start:
08.04.2024
End:
19.07.2024
Language:
German/English

Description:

Vorlesungszeit:
    Fr, 10:15 - 11:45 (Raum SH601)
Übungszeit:
    Fr, 8:15 - 11:45 (Raum SH601)
Die erste Vorlesung findet am 12.04.2024 statt.
Die erste Übung findet am 26.04.2024 statt.

Bitte beachten, dass die Vorlesungs- und Übungszeiten im LSF vertauscht sind!

Einführung

In der Vorlesung werden die Grundlagen zu Algorithmen und Datenstrukturen betrachtet. Der Kurs behandelt folgende Themen:

  • Einführung: Begriffe, Maße, Landau Notation, Maschinenmodell, Einfache Programmanalyse
  • Datenstrukturen für Sequenzen (Arrays, Listen, Stapel, Warteschlangen)
  • Abstrakte Datentypen
  • Hashing (Verkettung, universelles Hashing, Sondierverfahren)
  • Algorithmische Prinzipien
  • Sortieren (InsertionSort, SelectionSort, BubbleSort, MergeSort, HeapSort und QuickSort)
  • Prioritätswarteschlangen (binäre Heaps, Binomialheaps)
  • Suchverfahren und Suchbäume (binäre Suchbäume, AVL-Bäume, (a,b)-Bäume)
  • Graphalgorithmen (Graphrepräsentation, Traversierung per DFS/BFS, Zweifachzusammenhangskomponenten, starke Zusammenhangskomponenten, topologische Sortierung, kürzeste Wege, minimale Spannbäume, TSP)
  • Grundlagen verteilter Algorithmen, Grundzuüge der Nebenläufigkeit
  • Optional: Optimierungsalgorithmen und Pattern Matching

Literature:

  • K. Mehlhorn, P. Sanders, M. Dietzfelbinger: Algorithmen und Datenstrukturen. Springer Verlag Berlin; Juli 2010
  • Th.H. Cormen et al.: Algorithmen – eine Einführung. Oldenbourg 2007