This repository contains my code implementations, assignment solutions, and conceptual notes from the Stanford Algorithms Specialization on Coursera, taught by Professor Tim Roughgarden.
📚 Total Courses: 4
🎓 Institution: Stanford University (via Coursera)
🕰️ Duration: ~4 months (self-paced)
🧩 Focus: Algorithm design, analysis, and practical implementation
This rigorous four-part series dives deep into the design and analysis of algorithms, from foundational sorting and graph search methods to NP-completeness and advanced dynamic programming techniques.
Course | Title | Focus |
---|---|---|
1 | Divide and Conquer, Sorting and Searching, and Randomized Algorithms | Recursion, Master Theorem, MergeSort, QuickSort, Closest Pair, Karatsuba |
2 | Graph Search, Shortest Paths, and Data Structures | BFS, DFS, SCCs (Kosaraju), Dijkstra, Heaps, Union-Find |
3 | Greedy Algorithms, Minimum Spanning Trees, and Dynamic Programming | MST (Prim, Kruskal), Scheduling, Huffman, Knapsack, DP on paths |
4 | Shortest Paths Revisited, NP-Complete Problems and What To Do About Them | Bellman-Ford, Floyd-Warshall, Johnson’s, TSP, 2-SAT, NP-Completeness |