NOTE: The topics on future dates are estimates
4/3/12 | Introduction (Why algorithms, growth rates ) Chapter 1, Coin Changing (program on web page) Maximum subarray (4.1) |
4/5/12 | Closest Point algorithm (33.4), Recurrence Relations, 4.4 Recursion trees |
4/10/12 | Recurrence Relations: simplified master method (Handout 1 on main web page) general version is in 4.5, proof 4.6. substitution (4.3), Randomized Algorithms (5.1,5.2) |
4/12/12 | Randomized Algorithms: Selection(9.2), Hashing: Chaining (11.1, 11.2) unsuc search performance |
4/17/12 | Hashing: Chaining ( 11.2), Expected performance suc. search, 11.4 Open addressing. Dynamic Programming: 15.1 Rod cutting |
4/19/12 | Dynamic Programming: Rod Cutting (15.1), Optimal substructure (15.3), LCS(15.4), knapsack (16.2, and knapsack link ) |
4/24/12 | Greedy : Knapsack (16.2), Activity Selection (16.1), Stable Marriage (web link) |
4/26/12 | MIDTERM |
5/1/12 | Graphs: representation (22.1), BFS (22.2), DFS (22.3) |
5/3/12 | BFS, DFS applications: Shortest paths (BFS), Topological Sort (DFS 22.4), |
5/8/12 | More on DFS: properties, finding cycles, MST (23.1): Prims, correctness (23.2), |
5/10/12 | Prims: implementation and analysis, on Prim's expected performance, Shortest paths (24), Bellman Ford (24.1) |
5/15/12 | More Bellman Ford (24.1), Acycllic shortest pa ths (24.2), Dijkstra (24.3) |
5/17/12 | Weighted Activity Selection as a longest path problem,All Pairs SP: Floyd Warshall (25.2), Network Flows: 26.1,2, Ford-Fulkerson (26.2) |
5/22/12 | Ford-Fulkerson, Max-Flow Min-cut Theorem (26.2); Network Flow: Applications: Matching (26.3), edge disjoint paths (notes) |
5/24/12 | Data Compression: Huffman codes (16.3), Lempel-Ziv (Handout 4.1) Lempel Ziv + Huffman = Gzip (Handout 4.2) |
5/29/12 | Easy/hard problems, Class P, Poly verification, NP, reductions, NP-C NP-hard (34, 34.1-34.5) |
5/31/12 | Easy-Hard Recap, what NP-hard means; Dealing with hard problems: Approximation Algorithms: Vertex cover (35.1) (deterministic), TSP is hard to approximate (35.2) |
6/5/12 | TSP approximation (35.2), randomized 3-SAT approximation, Linear and Integer Programming (29, 35.4), |
6/7/12 | String matching (32): Naive Exact (32.1), Finite State Machine (32.3) and Approximate String Matching (Edit distance). (Handout 6) |
6/13/12 | FINAL EXAM, 1-3 PM, 6 Olson |