Zur Kurs-Webseite

Dr. D. Komm, Dr. T. Kohn, Dr. J. Závodný

Clevere Algorithmen programmieren

Kontakt

Inhalt

Wir besprechen Ansätze, um effiziente Algorithmen für verschiedene konkrete Berechnungsprobleme zu entwickeln und analysieren deren Laufzeit. Hierbei achten wir vor allem auf eine Verknüpfung von Theorie und praktischer Implementierung in Python und C++.

Termine

Die Kurse beginnen jeweils um 18:00 Uhr und gehen ca. 90 Minuten.

Datum Ort Inhalt
13.09.2017 ETH Zürich, ETH-Hauptgebäude HG F 33.1 Kurs-Beginn, Primzahltests
20.09.2017 ETH Zürich, ETH-Hauptgebäude HG F 33.1 Addition grosser Zahlen
27.09.2017 ETH Zürich, ETH-Hauptgebäude HG F 33.5 Multiplikation grosser Zahlen
12.10.2017 ETH Zürich, ETH-Hauptgebäude HG F 26.1 Potenzieren und Wurzelziehen grosser Zahlen, Nim-Spiele
18.10.2017 ETH Zürich, ETH-Hauptgebäude HG F 26.3 Cäsar-Verschlüsselung
25.10.2017 ETH Zürich, ETH-Hauptgebäude HG F 26.3 Stacks und Queues
01.11.2017 ETH Zürich, ETH-Hauptgebäude HG F 33.1 Kombinatorik und Rekursion 1
08.11.2017 ETH Zürich, ETH-Hauptgebäude HG F 33.1 Kombinatorik und Rekursion 2
15.11.2017 ETH Zürich, ETH-Hauptgebäude HG F 33.1 Matrizen und Zahlenbilder
22.11.2017 ETH Zürich, ETH-Hauptgebäude HG F 26.3 Labyrinthe durchsuchen 1
29.11.2017 ETH Zürich, ETH-Hauptgebäude HG F 26.3 Labyrinthe durchsuchen 2
06.12.2017
ETH Zürich, ETH-Hauptgebäude HG F 26.3 Berechenbarkeit
17.01.2018 ETH Zürich, ETH-Hauptgebäude HG G 26.3 Labyrinthe durchsuchen 3
24.01.2018 ETH Zürich, ETH-Hauptgebäude HG F 26.3 Rekursion 1
31.01.2018 ETH Zürich, ETH-Hauptgebäude HG F 26.3 Rekursion 2
07.02.2018 ETH Zürich, ETH-Hauptgebäude HG F 26.3 Rekursives DFS 1
28.02.2018 ETH Zürich, ETH-Hauptgebäude HG F 26.5 Rekursives DFS 2
07.03.2018 ETH Zürich, ETH-Hauptgebäude HG F 26.3 Rekursives DFS 3 und NP-Vollständigkeit
14.03.2018 ETH Zürich, ETH-Hauptgebäude HG F 26.3 Mengen und Dictionaries
21.03.2018 ETH Zürich, ETH-Hauptgebäude HG F 26.3 Heaps 1
11.04.2018 ETH Zürich, ETH-Hauptgebäude HG G 26.5 Heaps 2
18.04.2018 ETH Zürich, ETH-Hauptgebäude HG G 26.5 Heaps 3

Material

Slides

Aufgaben

Python-Programme

Labyrinthe

Kryptografie

Zufallsstrings

Ein Perl-Skript, das Zufallsstrings der Länge n mit Zahlen zwischen 0 und m erstellt mit ./gen.pl n m. Dateien mit Zufallszahlen (einbinden mit eingabe = inputFromFile("1000x10.txt") etc.).

Graphen

Dateien mit Graphen (einbinden mit graph = inputFromFile("graph1.txt") etc.).