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
08.11.2017 ETH Zürich, ETH-Hauptgebäude HG F 33.1 Kombinatorik und Rekursion
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
29.11.2017 ETH Zürich, ETH-Hauptgebäude HG F 26.3 tba
06.12.2017 ETH Zürich, ETH-Hauptgebäude HG F 26.3
tba

Material

Python-Programme

Slides

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.).