ECS 122A, Spring 2012

Lecture Topics


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