Algorithmen II

Folien

Sie finden unten die aktuellen Folien der Vorlesung, wie sie in diesem Jahr verwendet werden (Zugangsdaten im Ilias-Kurs). Diese Folien sind größtenteils auf Deutsch. Für englische Folien verweisen wir auf die Folien auf der Homepage vom WS20/21 (gleiche Zugangsdaten). Bitte beachten Sie, dass sich die Folien aus dem WS20/21 an einigen Stellen von den aktuellen Folien unwesentlich unterscheiden können.

Below, you'll find the current lecture slides in the form they are used in the lecture this year (password in the Ilias course). These slides are mostly in German. For slides in English we refer to the slides on the page from the WS20/21 (same password). Please note that the slides from the WS20/21 may differ slightly from the current slides in some places.

Aktuelles

  • 06.02.2023: Am 13.01. wird Herr Sanders nochmal eine Einordnung aller Themen aus der gesamten Vorlesung geben.
  • 06.02.2023: Am 14.01. werden wir zusammen probeweise eine Altklausur an der Tafel durchrechnen.
  • 13.12.2022: Am 13.12. wird im kompletten Block die Übung stattfinden.
  • 31.10.2022: Wie in der Vorlesung abgestimmt fällt die Vorlesung am 31.10.22 aus und wird stückchenweise nachgeholt.

Klausur am 22.09.2023

Die Ergebnisse sind nun online im Campus-System einsehbar. Den Lösungsvorschlag und die Statistik finden Sie hier.

Die Einsicht findet am Mittwoch, den 29.11.2023 von 11.30 Uhr bis 13.00 Uhr in Raum 236 (Informatik-Gebäude, 50.34) statt. Bringen Sie bitte Ihren Studierendenausweis mit.

 

 

 

Klausur am 16.03.2023

Die Ergebnisse sind nun online im Campus-System einsehbar. Den Lösungsvorschlag und die Statistik finden Sie hier.

Die Einsicht findet am Mittwoch, den 14.06.2023 von 11.30 Uhr bis 13.00 Uhr in Raum 236 (Informatik-Gebäude, 50.34) statt. Bringen Sie bitte Ihren Studierendenausweis mit.

 

Skript

Skript (Stand: 22.09.2021)

Folien

Komplett: Folien (Stand: 23.10.2023)

Kapitel 0 (overview): Folien (Stand: 23.10.2023)
Kapitel 1 (algorithm engineering): Folien (Stand: 23.10.2023)
Kapitel 2 (advanced datastructures): Folien (Stand: 23.10.2023)
Kapitel 3 (shortest path algorithms): Folien (Stand: 23.10.2023)
Kapitel 4 (dfs): Folien (Stand: 23.10.2023)
Kapitel 5 (maximum flows and matchings): Folien (Stand: 23.10.2023)
Kapitel 6 (randomized algorithms): Folien (Stand: 23.10.2023)
Kapitel 7 (external algorithms): Folien (Stand: 23.10.2023)
Kapitel 8 (approximation algorithms): Folien (Stand: 23.10.2023)
Kapitel 9 (fixed parameter algorithms): Folien (Stand: 23.10.2023)
Kapitel 10 (parallel algorithms): Folien (Stand: 23.10.2023)
Kapitel 11 (stringology): Folien (Stand: 23.10.2023)
Kapitel 11a (stringology): Folien (Stand: 30.01.2023)
Kapitel 11b (stringology): Folien (Stand: 31.01.2023)
Kapitel 11c (stringology): Folien (Stand: 07.02.2023)
Kapitel 12 (geometric algorithms): Folien (Stand: 23.10.2023)
Kapitel 13 (online algorithms): Folien (Stand: 23.10.2023)

Übungen

Übung 1: Folien (Stand: 09.11.2022) Handout (Stand: 09.11.2022)
Übung 2: Folien (Stand: 15.11.2022) Handout (Stand: 15.11.2022)
Übung 3: Folien (Stand: 22.11.2022) Handout (Stand: 22.11.2022)
Übung 4: Folien (Stand: 29.11.2022) Handout (Stand: 29.11.2022)
Übung 5: Folien (Stand: 06.12.2022) Handout (Stand: 06.12.2022)
Übung 6: Folien (Stand: 13.12.2022) Handout (Stand: 13.12.2022)
Übung 7: Folien (Stand: 13.12.2022) Handout (Stand: 13.12.2022)
Übung 8: Folien (Stand: 20.12.2022) Handout (Stand: 20.12.2022)
Übung 9: Folien (Stand: 16.01.2023) Handout (Stand: 16.01.2023)
Übung 10: Folien (Stand: 17.01.2023) Handout (Stand: 17.01.2023)
Übung 11: Folien (Stand: 23.01.2023) Handout (Stand: 23.01.2023)
Übung 12: Folien (Stand: 31.01.2023) Handout (Stand: 31.01.2023)
Übung 13: Folien (Stand: 07.02.2023) Handout (Stand: 07.02.2023)

Übungsblätter

Übungsblatt 1: Aufgaben (Stand: 08.11.2022) Musterlösung (Stand: 23.11.2022)
Übungsblatt 2: Aufgaben (Stand: 22.11.2022) Musterlösung (Stand: 07.12.2022)
Übungsblatt 3: Aufgaben (Stand: 06.12.2022) Musterlösung (Stand: 10.01.2023)
Übungsblatt 4: Aufgaben (Stand: 20.12.2022) Musterlösung (Stand: 16.01.2023)
Übungsblatt 5: Aufgaben (Stand: 07.02.2023) Musterlösung (Stand: 07.02.2023)
Übungsblatt 6: Aufgaben (Stand: 31.01.2023) Musterlösung (Stand: 16.02.2023)

Beschreibung

Inhalt

Diese Lehrveranstaltung soll Studierenden die grundlegenden theoretischen und praktischen Aspekte der Algorithmentechnik vermitteln. Es werden generelle Methoden zum Entwurf und der Analyse von Algorithmen für grundlegende algorithmische Probleme vermittelt sowie die Grundzüge allgemeiner algorithmischer Methoden wie Approximationsalgorithmen, Lineare Programmierung, Randomisierte Algorithmen, Parallele Algorithmen und parametrisierte Algorithmen behandelt.

Der/die Studierende besitzt einen vertieften Einblick in die theoretischen und praktischen Aspekte der Algorithmik und kann algorithmische Probleme in verschiedenen Anwendungsgebieten identifizieren und formal formulieren. Außerdem kennt er/sie weiterführende Algorithmen und Datenstrukturen aus den Bereichen Graphenalgorithmen, Algorithmische Geometrie, String-Matching, Algebraische Algorithmen, Kombinatorische Optimierung und Algorithmen für externen Speicher.

Er/Sie kann unbekannte Algorithmen eigenständig verstehen, sie den genannten Gebieten zuordnen, sie anwenden, ihre Laufzeit bestimmen, sie beurteilen sowie geeignete Algorithmen für gegebene Anwendungen auswählen. Darüber hinaus ist der/die Studierende in der Lage, bestehende Algorithmen auf verwandte Problemstellungen zu übertragen.

Neben Algorithmen für konkrete Problemstellungen kennt der/die Studierende fortgeschrittene Techniken des algorithmischen Entwurfs. Dies umfasst parametrisierte Algorithmen, approximierende Algorithmen, Online-Algorithmen, randomisierte Algorithmen, parallele Algorithmen, lineare Programmierung, sowie Techniken des Algorithm Engenieering. Für gegebene Algorithmen kann der/die Studierende eingesetzte Techniken identifizieren und damit diese Algorithmen besser verstehen. Darüber hinaus kann er/sie für eine gegebene Problemstellung geeignete Techniken auswählen und sie nutzen, um eigene Algorithmen zu entwerfen.

Vortragssprache Deutsch
Literaturhinweise

K. Mehlhorn, P. Sanders: Algorithms and Data Structures - The Basic Toolbox

Mehlhorn, Naeher: The LEDA Platform of Combinatorial and Geometric Computing Topic: Algorithm Engineering, Flows, Geometrie

Ahuja, Magnanti, Orlin: Network Flows

de Berg, Cheong, van Kreveld, Overmars: Computational Geometry: Algorithms and Applications

Gonzalo Navarro: Compact Data Structures "A Practical Approach", Cambridge University Press

R. Niedermeier: Invitation to Fixed-Parameter Algorithms, Oxford University Press, 2006.

Organisatorisches

Die Erfolgskontrolle erfolgt in Form einer schriftlichen Prüfung im Umfang von 120 Minuten nach § 4 Abs. 2 Nr. 1 SPO.

Arbeitsaufwand

Vorlesung mit 3 SWS + 1 SWS Übung.

6 LP entspricht ca. 180 Stunden

ca. 45 Std. Vorlesungsbesuch,

ca. 15 Std. Übungsbesuch,

ca. 90 Std. Nachbearbeitung und Bearbeitung der Übungsblätter

ca. 30 Std. Prüfungsvorbereitung

Voraussetzungen

Siehe Modubeschreibung.