Lecture Dates | Book Sections | Comments |
---|---|---|
11-24 | 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.
Videos: 11-24. |
|
11-17, 11-19 | 34.1, 34.2, 34.3 | For the remainder of the course we will covering Computational Complexity. These topics are sometimes covered in EECS 510, but no prior knowledge or background is assumed. |
11-10, 11-12 | 26.2 | The document camera was broken on 11-10, so that lecture had to
cancelled. We therefore complete only our discussion of the
Maximum Flow Problem
this week.
Videos: 11-12. |
11-03, 11-05 | 16.5, 26.1 | We will finish talking about the matroid solution for weighted interval scheduling before moving on to the maximum flow problem (chapter 26). |
10-27, 10-29 | 16.3, 16.4 | We covered the dynamic programming solution to the optimal binary
tree problem (section 15.5 on 09-17).
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.
The video for 10-27 was cut off in the beginning. The missing portion covers the same material as the end of lecture 10-22 and the proof of Lemma 16.2 from the text. If you have additional questions on the missing material, please stop by during office hours or schedule a meeting. |
10-20, 10-22 | 25.2, 16.1, 16.2 | We will be finishing our discussion of graph algorithms with the Floyd-Warshall algorithm before returning to take a close look at some famous greedy algorithms. |
10-13, 10-15 | 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-06, 10-08 | 23.2, 24.1, 24.2 | We continue our discussion of minimum spanning trees 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. |
09-29, 10-01 | 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-22, 09-24 | 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-15, 09-17 | 15.3, 15.4, 15.5 | You should read more about the Longest Common Subsequence problem and the Optimal Binary Search Tree (also known as Dynamic Optimality) problem. These two problems come up often in practice. See also homework problem 15-5 on the Edit Distance problem. |
09-08, 09-10 | 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. |
09-01, 09-03 | 4.4, 4.5, 4.2 | You can read more about the Master Theorem on Wikipedia. A slight variant of Strassen's method 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 do calculations on. |
08-25, 08-27 | 3.1, 3.2, 4.1 | Material from 3.1 and 3.2 should be a review, so please read it
carefully to make sure everything is familiar.
Videos: 08-27. |