Department of Computer Science | Institute of Theoretical Computer Science | CADMO

Theory of Combinatorial Algorithms

Prof. Emo Welzl and Prof. Bernd Gärtner

Algorithms, Probability, and Computing (2017)

Lecturers: Emo Welzl (CAB G 39.2), contact person,
Mohsen Ghaffari (CAB G 32.1),
Angelika Steger (CAB G 37.2),
Peter Widmayer (CAB H 39.2).
David Steurer (CAB H 36.2),
Assistants: Jerri Nummenpalo (CAB G 39.3), contact assistant
Malte Milatz (CAB G 36.1),
Ahad N. Zehmakan (CAB G 39.3),
Jara Uitto (CAB G 19.3),
Manuel Wettstein (CAB G 19.2).
Lectures: Mon 13-15, CAB G 51,
Tue 14-16, CAB G 51.
Exercise: You are free to choose whichever group suits you best:
  • Wed 13-15 CAB G 56
  • Wed 13-15 CHN D 44 Cancelled due to low attendance. Go to the other group instead.
  • Wed 16-18 CAB G 52
Credit Points: 8CP for Informatik Bachelor and Mathematik Bachelor (252-0209-00L, 4V + 2U + 1A)
Language: English
Contents: Advanced design and analysis methods for algorithms and data structures. Preliminary list of topics:
  • Randomized search trees (P. Widmayer)
  • Point location (A. Steger)
  • Randomized algorithms for Minimum Cut (A. Steger)
  • Randomized algebraic algorithms (A. Steger)
  • Linear programming (D. Steurer, E. Welzl)
  • Local Graph Algorithms (M. Ghaffari)

Reading assignments are Basics of Probabilistic Analysis for the APC-Lecture.

Detailed lecture notes will be sold in the lecture.

The following textbooks do not cover all topics of the course (neither is every topic treated in these textbooks a topic of the course).

  • Introduction to Algorithms by T. H. Cormen, C. E. Leiserson, R. L. Rivest, C. Stein
  • Randomized Algorithms by R. Motwani und P. Raghavan
  • Computational Geometry - Algorithms and Applications by M. de Berg, O. Cheong, M. van Kreveld, M. Overmars
Prerequisites: Basic knowledge of Probability Theory and Theoretical Computer Science as provided by the lectures Probability and Statistics and Theoretical Computer Science of the Bachelor Programme.

Exams, Special Assignments and Grading

There will be a written midterm exam and a written final exam. Furthermore, there will be two mandatory special assignments (SPAs), the solution of which is due two weeks later. Your solution should be typeset in LaTeX.

The final grade of the whole course will be calculated as a weighted average of the grades for the final exam (60%), midterm exam (20%), and the special assignments (20%).

Special Assignment 1:

Oct 10 – Oct 24 at 2:15 pm.

Midterm Exam:

On Monday, 30 October 2017, instead of the lecture (13:00-15:00) and at the Hönggerberg campus. No written material will be permitted.
The exam covers all material up to the lecture on October 24. You may find previous midterms here: 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015. 2016.

Special assignment 2 (Minor update on 22.11.):

Nov 21 – Dec 5.
Final exam: Feb 10, 2018
You may find previous finals here: 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016.

Absence. If there are compelling reasons why you cannot attend the midterm or hand in a special assignment on the due date foreseen, please contact us post-haste and we can look for a solution. Note, however, that we will grant requests of this type only in very exceptional cases (doctor's note, military service, funeral, etc.). Private events (vacation, sports, career fairs, etc.) are never sufficient grounds. As far as special assignments are concerned, you can hand them in to the contact assistant by email at any time before the due date, so there is no need to be present in person. As regards the final exam, ETH regulations apply.

Exchange students. Exchange students enrolled for APC in fall might want to return to their home university prior to the date of the final exam. If this applies to you and you nonetheless wish to be evaluated and given credits for APC, then as an alternative to returning to Zurich for the exam, there is the possibility for you to take the exam at your home university at the same time it takes place in Zurich. If you want to make use of this exam mode, you as a student are responsible for finding a professor at your home university who is willing to allocate resources for such a supervision and for establishing contact between us and the other party. At any rate, arrangements of this type have to be made very timely, preferably at the beginning of the semester. If you contact us too late, we cannot help you.

Regular Exercises

Regular exercises are made available online on a weekly basis. Students are expected to (try and) solve the problems and attend the exercise classes. Your assistant is happy to look at your solutions and correct/comment them. All exercises and their solutions are part of the material relevant for the two exams.


In the table below you can find the lecture dates and the preliminary topics. The exercises and their solutions will be published here.

Calendar Week Date Topic Exercises and SPAs
(by due date)
38 Mon
No class. As a preparation to this week's exercises, please read Basics of Probabilistic Analysis. ex-KW38.pdf (only in-class exercises, no hand-in date) solution-KW38.pdf
First lecture. Randomized Search Trees (1.1, 1.2)
39 Mon
Randomized Search Trees (1.3, 1.4) ex-KW39.pdf
Randomized Search Trees (1.5, 1.6, 1.7)
40 Mon
Point Location (2, 2.1, 2.2 up to fractional cascading) ex-KW40.pdf solution-KW40.pdf
Point Location (2.2, 2.3)
41 Mon
Point location (2.4) ex-KW41.pdf
Randomized Algebraic Algorithms (4.1, 4.2)
Special assignment 1 published
42 Mon
Randomized Algebraic Algorithms (4.3, 4.5) inclass-KW42.pdf solution-KW42.pdf
Randomized Algebraic Algorithms (4.4, 4.6 until the proof of Lemma 4.4)
43 Mon
Randomized Algebraic Algorithms (4.6) spa1.pdf will be discussed. spa1-solution.pdf
Minimum Cut (3.1, 3.2, 3.3)
Special assignment 1 deadline
44 Mon
Midterm exam (13:00-15:00) in HIL E1 (Hönggerberg) midterm.pdf will be discussed. No solutions are provided.
Minimum Cut (3.4)
45 Mon
Linear Programming (6.1, 6.2, Toolbox of transormations) ex-KW45.pdf solution-KW45.pdf
Linear Programming (6.3, Klee-Minty cube example)
46 Mon
Linear Programming (6.4, 6.5.1) ex-KW46.pdf solution-KW46.pdf
Linear Programming (6.5.2, 6.6: 6.6.1, 6.6.2)
47 Mon
Linear Programming (6.6.3) ex-KW47.pdf inclass-KW47.pdf solution-KW47.pdf
Linear Programming (6.7, 6.8)
Special assignment 2 published. (Minor update on 22.11.)
48 Mon
Linear Programming (6.9, 6.10) inclass-KW48.pdf solution-KW48.pdf
Local Graph Algorithms (8.1, 8.2, 8.2.1, 8.2.2)
49 Mon
Local Graph Algorithms (8.2.2, 8.3, 8.3.2) inclass-KW49.pdf and Special assignment 2 will be discussed. solution-KW49.pdf spa2-solution.pdf
Local Graph Algorithms (8.4.1 (Theorem 8.16 only with O(Delta^2 log(Delta)) bound), 8.4.2, 8.6, 8.6.1)
Special assignment 2 deadline
50 Mon
Local Graph Algorithms (8.6.2 and a O(log^2 n) analysis of Luby's algorithm) ex-KW50.pdf solution-KW50.pdf
Local Graph Algorithms (8.7, 8.7.1, 8.7.2)
51 Mon
Local Graph Algorithms (8.5, 8.5.1 (proofs only for strong diam. netw. decomp.), 8.5.2. (we only showed the existence part), 8.5.3) ex-KW51.pdf inclass-KW51.pdf solution-KW51.pdf
Local Graph Algorithms (8.8)