Course Schedule

Schedule

Regular Classes

Group Type Hours Location Lecturer
Lecture Sun 12-15 Environment 013B Haim / Uri
β Lecture Tue 16-19 Dach 005 Haim / Uri
A Recitation Wed 17-18 Shenkar 204 Jad
B Recitation Thu 9-10 Shriber 006 Jad
C Recitation Thu 10-11 Shriber 006 Jad
D Recitation Thu 11-12 Shriber 006 Tal
E Recitation Thu 12-13 Holzblat 007 Tal
F Recitation Thu 13-14 Check Point 002 Tal

Make up Classes

Outline (Tentative)

Week # Starts on Lecture Topics Book Chapter Recitation Topics Notes
1 - Introduction, Breadth first search CLRS 22.1-2 Eulerian cycles and paths
2 - Depth first search CLRS 22.3 Bipartite graphs and BFS
3 - Applications of DFS CLRS 22.4-5 DFS and bi-connected components
4 - Minimum spanning trees CLRS 23 (+ 21.1-2) MSTs
5 - Dynamic programming CLRS 15 + KT 6 Dynamic programming
6 - Shortest paths 1 (Bellman-Ford) CLRS 24.0-2,5 Bellman-Ford
7 - Shortest paths 2 (Dijkstra, DAGs) CLRS 24.3 Dijkstra
8 - All pairs shortest paths CLRS 25 APSP
9 - Linear Programming 1 (simplex) CLRS 29 Linear programming
10 - Linear Programming 2 (duality) CLRS 29 Linear programming
11 - Network flow 1 CLRS 26.1-2 Flow
12 - Network flow 2 (MFMC, EK) CLRS 26.2-3 More network flow
13 - Network flow 3 (Dinic) T 8.2-3 Hall's theorem and advanced network flow

CLRS refers to the 3rd (English) edition of the book "Introduction to Algorithms" by Cormen, Leiserson, Rivest, and Stein.
T refers to "Data Structures and Network Algorithms" by Tarjan.
KT refers to "Algorithm Design", by J. Kleinberg and E. Tardos.

The material taught in class is not necessarily identical to the material in the book.

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License