Lecture Dates | Book Sections | Comments |
---|---|---|
12-07, 12-09 | 34.4 | In the last lecture of the course, we will give a survey of what we have done and what I consider to be the main topics in the course. |
11-30, 12-02 | 34.1, 34.2, 34.3 | For the remainder of the course we will covering Computational Complexity. These topics are usually covered in EECS 510, so parts of this should be a review. |
11-23 | 16.4 | We complete our discussion of Matroids from last week by proving that a
certain scheduling problem is realizable as a Matroid.
Videos: 11-23. |
11-16, 11-18 | 16.3, 16.4 | We covered the dynamic programming solution to the optimal binary tree problem (section 15.5). Huffman Codes are a greedy solution to the same problem. We will also begin talking about Matroids this week, which provide a generic greedy algorithm that works for a very large variety of problems. |
11-09, 11-11 | 16.1, 16.2 | This week we begin our coverage of Greedy Algorithms with the (unweighted) Interval Scheduling problem and the 0-1 Knapsack Problem. |
11-02, 11-04 | 25.2 | We complete our coverage of graph algorithm with the
Floyd-Warshall algorithm
before the second exam on 11-04.
Videos: 11-02. |
10-26, 10-28 | 24.2, 24.3, 25.1 | Dijkstra's algorithm has an interesting history, which you should read about. You should also read more about the Shortest Paths problem. It includes many famous results and is the source of some ongoing research. |
10-19, 10-21 | 23.2, 24.1 | We continue our discussion of minimum spanning trees with Kruskal's algorithm before continuing on to Chapter 24. Chapter 24 contains several famous shortest path algorithms that are not covered in other courses, so please read about them beforehand. |
10-14 | 23.2 | Prim's
and
Kruskal's
algorithms should have been covered in EECS 560, so please review them if
you are unfamiliar.
Videos: 10-14. |
10-05, 10-07 | 22.4, 23.1, 23.2 | Minimum spanning trees should be covered in EECS 560, but we will cover the basic algorithms for them in greater detail. |
09-28, 09-30 | Chapter 22 | This chapter should be mostly review, so we will only briefly cover it. If you are unfamiliar with any of the main algorithms (BFS, DFS, Topological Sort), please review them carefully before class. |
09-21, 09-23 | 15.5 | We have an exam on 09-23. All sections prior to this week will be
covered on the exam.
Videos: 09-21. |
09-14, 09-16 | 15.2, 15.4 | You should read more about the Longest Common Subsequence problem. This problem comes up quite often in practice. See also homework problem 15-5 on the Edit Distance problem. |
09-07, 09-09 | 15.1, 15.2, 15.3 | Dynamic programming is a very important and very powerful programming technique. Be sure to carefully read the book sections and make sure that you understand the technique, not just the solution. |
08-31, 09-02 | 4.1, 4.4, 4.5, 4.2 | You can read more about the Master Theorem on Wikipedia. A slight variant of Strassen's algorithm is considered state-of-the-art for fast matrix multiplication, but asymptotically faster algorithms have been discovered. These faster algorithms are not used in practice because the lower-order terms end up dominating for most matrices that people actually do calculations on. |
08-24, 08-26 | 3.1, 3.2, 4.0 | Material this week should be a review, so please read these sections carefully to make sure everything is familiar. |