Proseminar Effiziente Algorithmen
Dozent: Prof. Dr. Christian Scheideler
Zeit und Ort: Mi, 11-13 Uhr, F2.211
Erstes Treffen: Mi, 17. Oktober
Inhalt
Ziel des Proseminars ist es, zu lernen, wie die in der Vorlesung "Datenstrukturen und Algorithmen" vorgestellten Methoden verwendet und erweitert werden können, um algorithmische Probleme, die im renommierten International Collegiate Programming Contest (ICPC) erschienen sind, lösen zu können. Dazu wird es wöchentliche Treffen geben, in denen jeweils eine bestimmte Klasse von Problemen behandelt wird. Weiterhin werden einige dieser Probleme pro Treffen als Hausaufgabe aufgegeben, die von studentischen Teams bestehend aus bis zu 3 Leuten gelöst werden müssen, und jedes Team muss am Ende einen der ICPC Wettbewerbe aufarbeiten und die Lösungen in einem Treffen präsentieren. Dabei reicht es, wenn ein Team bestehend aus k Mitgliedern 2k der Probleme eines ICPC Wettbewerbs auswählt.
Schein
Einen Schein bekommt, wer regelmäßig am Proseminar teilnimmt, mindestens 60% der Probleme korrekt gelöst hat, und am Ende Lösungen eines der ICPC Wettbewerbe vorgestellt hat.
Übersicht über die Themen
- Einführung
- Datenstrukturen
- Zeichenketten
- Sortieren, selektieren und suchen
- Arithmetik und Kombinatorik
- Zahlentheorie
- Graphdurchlauf
- Graphalgorithmen
- Divide & Conquer und Dynamische Programmierung
- Backtracking und Branch & Bound
ICPC Wettbewerbe
Einige Beispiele sind:
Alle Wettbewerbe können auf der Webseite https://icpcarchive.ecs.baylor.edu gefunden werden. Klickt man auf einen Wettbewerb, wird auch mitgeteilt, wie schwer die Probleme sind, so dass das helfen sollte, einen geeigneten Wettbewerb auszuwählen.
Übungsaufgaben
- Aufgabe 1 (Abgabe: 24.10.): 156 Ananagrams
- Aufgabe 2 (Abgabe: 31.10.): 261 The Window Property
- Aufgabe 3 (Abgabe: 7.11.): 10132 File Fragmentation
- Aufgabe 4 (Abgabe: 14.11.): 855 Lunch in Grid City
- Aufgabe 5 (Abgabe: 21.11.): 701 (The Archeologist's Dilemma) oder 10247 (Complete Tree Labeling)
- Aufgabe 6 (Abgabe: 28.11.): 10168 Summation of Four Primes
- Aufgabe 7 (Abgabe: 5.12.): 10199 Tourist Guide
- Aufgabe 8 (Abgabe: 12.12.): 318 Domino Effect
- Aufgabe 9 (Abgabe: 19.12.): 10003 Cutting Sticks
- Aufgabe 10 (Abgabe: 9.1.): 10160 Servicing Stations
Die Probleme können unter http://www.cs.uleth.ca/%7Echeng/contest/hints.html nachgeschlagen werden. Die Programme müssen zusammen mit der Bestätigung des Servers, dass sie akzeptiert worden sind, bis spätestens zum angegebenen Abgabetag um 11:00 Uhr per Email an den Dozenten geschickt werden (der Zeitstempel der Email zählt).
Hilfsmittel