Part II of Algorithms from Princeton University. Course related information can be found here.
| ⠀Week⠀ | Content |
|---|---|
| Week 1 | Graphs, Depth-First Search, Breadth-First Search, Connected Components, Digraphs, Topological Sort, Strong Components |
| Week 2 | Minimum Spanning Trees, Edge-Weighted Graphs, Kruskal's Algorithm, Prim's Algorithm, Shortest Paths, Dijkstra's Algorithm, Acyclic Shortest Paths, Seam Carving |
| Week 3 | Maxflow, Mincut, Ford-Fulkerson Algorithm, Maxflow-Mincut Theorem, Maxflow Applications, Strings in Java, Key-Indexed Counting, LSD/MSD Radix Sort, 3-Way Radix Quicksort, Suffix Arrays |
| Week 4 | R-Way Tries, Ternary Tries, Character-Based Operations, Substring Search, Brute-Force Substring Search, Knuth-Morris-Pratt Algorithm, Boyer-Moore Algorithm, Rabin-Karp Algorithm |
| Week 5 | Regular Expressions, NFA Simulation & Construction, Regular Expression Applications, Run-Length Coding, Huffman Compression, LZW Compression, Burrows-Wheeler |
| Week 6 | Reductions, Designing Algorithms, Lower Bounds, Classifying Problems, Linear Programming, Brewer's Problem, Simplex Algorithm, Intractability, Search Problems, P vs NP, NP-Completeness, Coping with Intractability |
| Assignment | Name | Score |
|---|---|---|
| Week 1 | WordNet | 100/100 |
| Week 2 | Seam Carving | 100/100 |
| Week 3 | Baseball Elimination | 100/100 |
| Week 4 | Boggle | 100/100 |
| Week 5 | Burrows-Wheeler | 100/100 |