Advanced Competitive Programming

Es werden in studentischen Vorträgen verschiedene Algorithmen, algorithmische Methoden und Datenstrukturen vorgestellt, wie sie insbesondere im Kontext von Programmierwettbewerben wie dem ICPC zur Anwendung kommen:

  • Algorithmen zur schnellen Polynommultiplikation
  • Siebmethoden zur Berechnung zahlentheoretischer Funktionen
  • Datenstrukturen zur Verarbeitung intervallbasierter Anfragen auf Arrays und Bäumen
  • Methoden zur Optimierung dynamischer Programmierung
  • Sweep-Verfahren aus der algorithmischen Geometrie
  • Der Aho-Corasick-Algorithmus, Suffixarrays und Anwendungen
  • und weitere Themen

Zusätzlich zu den Vorträgen werden die vorgestellten Algorithmen und Methoden von den Studierenden umgesetzt bzw. implementiert und in Übungsaufgaben zur Anwendung gebracht.

Literatur

  • A. Laaksonen: Guide to Competitive Programming, Springer, 2017.
  • F. Halim und S. Halim: Competitive Programming 3, the new lower bound of programming contests, Lulu.com, 2013.
  • T. Cormen et al.: Introduction to Algorithms, MIT Press, 2001.
  • J. Erickson: Algorithms, self published, 2019.