COP-4534 Algorithm Techniques Lectures
- August 27: Introduction, Review.
- Read Chapter 4, especially Section 4.5
 
 - August 29: Selection
 - September 3: Closest Points
 - September 5: No class
 - September 10, 12, 17: Dynamic Programming
- Rod cutting
 - Largest subsquare problem
 - Coin changing
 - Longest common subsequence
 - Optimal chained matrix multiply
 
 - September 19, 24, 26: Greedy Algorithms
- Scheduling problems
 - Huffman Codes
 - Bin packing (see notes on Moodle)
 
 - October 1, 3, 8: Randomized Algorithms and Data Structures
- Skip lists
 - Primality testing
 - Universal hashing and perfect hashing
 
 - October 10: Stable Matching
 - October 12: Review for exam
 - October 17: MIDTERM EXAM
 - October 22, 24: Shortest Paths
- Breadth first search
 - Dijkstra's Algorithm
 - Bottleneck path
 - Discussion of Assignment #4
 
 - October 29: Network Flow and Bipartite Matching
- Read Chapter 26.1 to 26.3
 - Max-flow/min-cut theorem
 - Ford-Fulkerson
 - Edmonds-Karp
 
 - October 31: Depth first search
- Depth first search
 - Strong components algorithm
 
 - Nov 5, 7, 12: Minimum Spanning Tree
- Prim's algorithm
 - Disjoint-sets union/find
 - Kruskal's algorithm
 - Boruvka's algorithm
 
 - Nov 14, 19, 21: String algorithms
- Rabin-Karp
 - Knuth-Morris-Pratt 
 - Boyer-Moore
 - Radix Sort
 - Suffix Arrays and LCP
 - Discussion of Assignment #6
 
 - Nov 26: Backtracking Algorithms
 - Nov 28: No class
 - Dec 3: NP-Completeness + Evals
 - Dec 5: Review for final