This course is about fundamental algorithm design paradigms, classic algorithmic problems, and data structures. The connection between algorithms and data structures is explained for geometric and graph problems. For this purpose, fundamental graph theoretic concepts are introduced.
Objective
An understanding of the design and analysis of fundamental algorithms and data structures.
Content
Es werden grundlegende Algorithmen und Datenstrukturen vorgestellt und analysiert. Dazu gehören auf der einen Seite Entwurfsmuster für Algorithmen, wie Induktion, divide-and-conquer, backtracking und dynamische Optimierung, ebenso wie klassische algorithmische Probleme, wie Suchen und Sortieren. Auf der anderen Seite werden Datenstrukturen für verschiedene Zwecke behandelt, darunter verkettete Listen, Hashtabellen, balancierte Suchbäume, verschiedene heaps und union-find-Strukturen. Weiterhin wird Adaptivität bei Datenstrukturen (wie etwa Splay-Bäume) und bei Algorithmen (wie etwa online-Algorithmen) beleuchtet. Das Zusammenspiel von Algorithmen und Datenstrukturen wird anhand von Geometrie- und Graphenproblemen illustriert. Hierfür werden grundlegende Konzepte der Graphentheorie eingeführt.
The performance assessment is offered every session. Repetition possible without re-enrolling for the course unit.
Mode of examination
written 240 minutes
Additional information on mode of examination
Während des Semesters können durch aktive Mitarbeit Bonuspunkte erarbeitet werden. Am Ende des Semesters wird aus den Bonuspunkten eine Note für die Übungen berechnet. Die Note für die Übungen fliesst in die Endnote ein, sofern deren Berücksichtigung vorteilhaft ist. Die Endnote ist das Maximum aus der Note der Sessionsprüfung und dem gewichteten Mittel der Note für die Übungen (30%) und der Note der Sessionsprüfung (70%).
Die Bonuspunkte zählen auch für die Repetitionsprüfung oder den 1. Versuch im Sommer. Sobald die Lerneinheit neu gelesen wird, sind die Bonuspunkte aus dem Vorjahr nicht mehr anrechenbar.
Written aids
None
Online examination
The examination may take place on the computer.
If the course unit is part of an examination block, the credits are allocated for the successful completion of the whole block. This information can be updated until the beginning of the semester; information on the examination timetable is binding.