Department of Computer Science | Institute of Theoretical Computer Science
Auf dieser Seite finden Sie Informationen zur
Vorlesung
Datenstrukturen & Algorithmen im Frühjahrssemester 2016
an der ETH Zürich.
Dozent: | Prof. Peter Widmayer |
Vorlesung: | Donnerstag, 8:15 - 10:00 Uhr (HG E 7), Freitag, 10:15 - 12:00 Uhr (HG E 7) |
Weitere Informationen zur Vorlesung finden Sie im Vorlesungsverzeichnis.
Shortcuts: Übungsblätter -- Exercise sheets
Bitte lesen Sie das Informationsblatt im internen Bereich. Dort finden Sie alle weiteren Informationen zur Einteilung der Übungsgruppen und eine Eclipse Projektvorlage für die Programmieraufgaben. Die Zugangsdaten sind in MyStudies unter "Lernmaterialien" ersichtlich.
Andreas Bärtschi und Daniel Graf haben im Laufe des Semesters ein paar besonders knifflige Aufgaben gesammelt: Bonus Questions. Wer die meisten Rätsel knackt, gewinnt mindestens einen Buchpreis (z.B. Datenstrukturen und Algorithmen von Widmayer, Ottmann oder Introduction to Algorithms von Cormen, Leierson, Rivest und Stein). Abgabeschluss ist der Tag der D&A-Prüfung. Viel Spass!
Das Buch zur Vorlesung können Sie innerhalb des ETH-Netzes online lesen. Die Inhaltsangaben zur Vorlesung, Angaben zu Literatur und Links werden auf dieser Seite laufend aktualisiert.
Hier finden Sie ausserdem eine Liste der Prüfungen der vergangenen Jahre.
Datum | behandelte Themen | Literatur und Mitschrift (Disclaimer) |
---|---|---|
25.02.2016 | Einführung. Algorithmenentwurf. Güte von Algorithmen.
|
Kapitel 1.1-1.2 im Buch Mitschrift |
26.02.2016 | Algorithmenentwurf durch einfache Induktion.
|
Kapitel 1.3 Mitschrift |
03.03.2016 | Suchen I: Suchen. Das Auswahlproblem.
|
Kapitel 3.1 und 3.2 Folien Mitschrift |
04.03.2016 | Suchen II: Hashing.
|
Kapitel 4.1 bis 4.3.2, 4.3.4 Notizen Mitschrift |
10.03.2016 | Sortieren I: Elementare Verfahren. Heapsort.
|
Kapitel 2.1 und 2.3 Mitschrift |
11.03.2016 | Sortieren II: Mergesort, Quicksort.
|
Kapitel 2.2 und 2.4 Mitschrift |
17.03.2016 | Sortieren III: Untere Schranken. Radixsort. Wörterbücher I: Elementare Konzepte.
|
Kapitel 1.5.1 - 1.5.2, 1.6 - 1.7, 2.5, 2.8 Mitschrift |
18.03.2016 | Wörterbücher II: Natürliche Suchbäume. AVL-Bäume.
|
Kapitel 5.1 und 5.2.1 Mitschrift |
24.03.2016 | Wörterbücher III: AVL-Bäume. Amortisierte Analyse. Selbstanordnung.
|
Kapitel 5.2.1 und 3.3 Mitschrift |
07.04.2016 | Dynamische Programmierung I.
|
Kapitel 1.2.3 Cormen et al.: Kapitel 15 Mitschrift |
08.04.2016 | Dynamische Programmierung II.
|
Kapitel 7.2 und 7.3 Mitschrift |
14.04.2016 | Algorithmenentwurf: divide-and-conquer, dynamisches Programmieren, greedy
|
Kapitel 1.2.3 und 5.7 Cormen et al.: Kapitel 16.3 |
15.04.2016 | Selbstanordnung in Suchbäumen: Splay Trees
|
Kapitel 5.4 Mitschrift |
21.04.2016 | Graphenalgorithmen 1.
|
Kapitel 9.1 bis 9.4 |
22.04.2016 | Graphenalgorithmen 2.
|
Kapitel 6.2 und 9.6 |
28.04.2016 | Graphenalgorithmen 3.
|
Kapitel 6.1 und 9.6 |
29.04.2016 | Graphenalgorithmen 4.
|
Kapitel 6.1 und 9.5.1 bis 9.5.2 |
06.05.2016 | Graphenalgorithmen 5. Kürzeste Wege
|
Kapitel 9.5.2 und 9.5.3 |
12.05.2016 | Wunderbare Welt der Algorithmen.
|
Mitschrift |
13.05.2016 | Backtracking, Branch-and-Bound.
|
Kapitel 7.5 ergänzende Unterlagen |
19.05.2016 | Flüsse in Netzen I.
|
Kapitel 9.7 |
20.05.2016 | Flüsse in Netzen II.
|
Kapitel 9.7 und 9.8.1 |
26.05.2016 | Geometrische Algorithmen I.
|
Kapitel 8.1 und 8.2 |
01.06.2016 | Geometrische Algorithmen II.
|
Kapitel 8.3.2–8.5 Mitschrift |
02.06.2016 | Geometrische Algorithmen III.
|
Kapitel 8.3.3–8.5 Mitschrift |
03.06.2016 | Datenstrukturen für Externspeicher.
|
Kapitel 5.5 |
Die Übungen werden jeweils am Mittwoch von 15:15 bis 17:00 (für Studenten der Rechnergestützten Wissenschaften von 16:15 bis 18:00) durchgeführt. Verantwortlich für die Organisation der Übungen ist Thomas Tschager, CAB H39.1, email: thomas.tschager _at_ inf.ethz.ch.
Hinweise zu den Programmierübungen: Sie können mehrmals Lösungen zu einer Programmieraufgabe hochladen. Bitte beachten Sie, dass der Judge nur Lösungen akzeptiert, die eine Klasse class Main (groß geschrieben) enthält, welche nicht als public deklariert ist. Beachten Sie dazu auch die Vorlage und das Tutorial im internen Bereich.
Antonios Thomas bietet jeden Mittwoch von 12 bis 13 Uhr im Raum CAB G 15.2 eine Sprechstunde für Fragen zum Judge und den Programmieraufgaben an.
Wir möchten eine Mitschrift für die Vorlesung in diesem Semester erstellen. Diese Mitschrift (inkl. Notizen und Folien) und ist als Ergänzung zur Vorlesung gedacht. Wir erheben keinen Anspruch auf Vollständigkeit und Korrektheit. Wenn Sie an dieser Mitschrift mitarbeiten möchten, melden Sie sich unter diesem Doodle-Link.
Wir sind jederzeit froh um Hinweise zu Fehlern oder Unklarheiten an grafdan _at_ inf.ethz.ch.
Although the lecture and many readings are in German, there will be an exercise group in English. You may hand in both exercises and the final exam in English. When signing up for the final exam, please indicate that you require a translation of the exam in English.
We also provide a list of previous exams in English (where available) and German.
Date | Topics | Literature |
---|---|---|
25.02.2016 | Introduction and Algorithm Design.
|
Cormen et al.: Chapter 1–3 |
26.02.2016 | Algorithm Design by Induction.
|
Cormen et al.: Chapter 4.1 |
03.03.2016 | Searching I: Searching. Computing the Median.
|
Cormen et al.: Problem 2.1-3, 2.2-3, 2.3-5 Chapter 9 |
04.03.2016 | Searching II: Hashing.
|
Cormen et al.: Chapter 11 |
10.03.2016 | Sorting I: Elementary Sorting Methods. Heapsort.
|
Cormen et al.: Chapter 2, Problem 2.2-2, 2-2, Chapter 6 |
11.03.2016 | Sorting II: Mergesort, Quicksort.
|
Cormen et al.: Chapter 2.3.1 and 7 |
17.03.2016 | Sorting III: Lower bounds. Radix sort. Dictionaries I: Basic concepts.
|
Cormen et al.: Chapter 8.1, 8.3, 10.2 |
18.03.2016 | Dictionaries II: Binary Search Trees, AVL Trees.
|
Cormen et al.: Chapter 12.1-12.3 Goodrich et al.: Chapter 3.2 |
24.03.2016 | Dictionaries III: AVL Trees. Amortized Analysis. Self-Organizing Linear Lists.
|
Goodrich et al.: Chapter 3.2 Cormen et al.: Chapter 17, esp. Problem 17-5 |
07.04.2016 | Dynamic Programming 1
|
Cormen et al.: Chapter 15 |
08.04.2016 | Dynamic Programming 2
|
Cormen et al.: Chapter 35.5 Vazirani: Chapter 8.1 and 8.2 |
14.04.2016 | Algorithm design: divide-and-conquer, dynamic programming, greedy
|
Cormen et al.: Chapter 4.2, 15.5 and 16.3 |
15.04.2016 | Self-organizing search trees: Splay trees
|
Goodrich and Tamassia: Chapter 3.4 |
21.04.2016 | Graph Algorithms I
|
Cormen et al.: Chapter 22 |
22.04.2016 | Graph Algorithms II
|
Cormen et al.: Chapter 23 |
28.04.2016 | Graph Algorithms III
|
Cormen et al.: Chapter 19 and 23 |
29.04.2016 | Graph Algorithms IV
|
Cormen et al.: Chapter 19 and 24.1–24.3 |
06.05.2016 | Graph Algorithms V. Shortest paths
|
Cormen et al.: Chapter 24.1, 25.2 and 25.3 |
12.05.2016 | Wunderbare Welt der Algorithmen.
|
|
13.05.2016 | Backtracking, Branch-and-Bound.
|
Skiena: Chapter 7.1 Wolsey, Ch. 7.1–7.2 |
19.05.2016 | Flows in Networks I.
|
Cormen et al.: Chapter 26.1 and 26.2 |
20.05.2016 | Flows in Networks II.
|
Ahuja, Chapter 7.5 Cormen et al.: Chapter 26.2 – 26.3, Problem 26.3-4 |
26.05.2016 | Geometric Algorithms I.
|
deBerg, Ch. 1.1 – 1.2 Cormen et al.: Chapter 33.1 – 33.3 |
01.06.2016 | Geometric Algorithms II.
|
deBerg, Ch. 5.3, 10.1 – 10.3 Cormen et al.: Chapter 33.2 |
02.06.2016 | Geometric Algorithms III.
|
deBerg, Ch. 5.3, 10.1 – 10.3 |
03.06.2016 | External Memory Structures.
|
Cormen et al.: Chapter 18 |
Programming exercises: You can upload your solutions multiple times to the judge. Please note that your solutions needs to contain a class Main (not declared public).
Every Wednesday from 12:00 to 13:00 in CAB G 15.2 there will be a question and answer session for problems regarding the programming exercises and the judge.