Algorithm Engineering

Vortragssprache:

Deutsch

Beschreibung:

  • Was ist Algorithm Engineering, Motivation etc.
  • Realistische Modellierung von Maschinen und Anwendungen
  • praxisorientierter Algorithmenentwurf
  • Implementierungstechniken
  • Experimentiertechniken
  • Auswertung von Messungen

Die oben angegebenen Fertigkeiten werden vor allem anhand von konkreten Beispielen gelehrt. In der Vergangenheit waren das zum Beispiel die folgenden Themen aus dem Bereich grundlegender Algorithmen und Datenstrukturen:

  • linked lists ohne Sonderfälle
  • Sortieren: parallel, extern, superskalar,...
  • Prioritätslisten (cache effizient,...)
  • Suchbäume für ganzzahlige Schlüssel
  • Volltextindizes
  • Graphenalgorithmen: miminale Spannbäume (extern,...), Routenplanung

dabei geht es jeweils um die besten bekannten praktischen und theoretischen Verfahren. Diese weiche meist erheblich von den in Anfängervorlesungen gelehrten Verfahren ab.

Literaturhinweise:

Weiterführende Literatur

  • K. Mehlhorn, P. Sanders, Algorithms and Data Structures - The Basic Toolbox, Springer 2008

Lehrinhalt:

Der/Die Studierende soll

  • die in den grundlegenden Lehrveranstaltungen der Algorithmentechnik erworbenen Kenntnisse und Fähigkeiten angewandt und vertieft werden.
  • die Methodik des Algorithm Engineering erlernen.
  • Beispiele guten Algorithm Engineerings kennen.

Zusatzmaterial Graph Partitionierung:

PDF

 

Hinweise zur Prüfung

Sie müssen sich vor der Prüfung am Studierendenportal für diese Veranstaltung anmelden; falls zwei Einträge "Algorithm Engineering" bei Ihnen vorhanden sind, wählen Sie bitte die Nummer 13321. Termine für die mündliche Prüfung vereinbaren Sie bitte mit Herrn Prof. Sanders direkt per E-Mail.