Course Syllabus
Algorithm Analysis: Asymptotic Notation-Standard – Recurrences – Solution to Recurrences Divide and Conquer – Sorting, Matrix Multiplication and Binary Search. Dynamic Programming- Longest common sustring/subsequence – Matrix Chain Multiplication – 0-1 Knapsack problem – Coin Change problem. Greedy algorithms: Fractional knapsack, job scheduling, matroids. Graph Algorithms – Graph Traversal, Single- Source Shortest Paths, All pairs Shortest Paths, Depth First Search, Breadth First Search and their applications, Minimum Spanning Trees. Network Flow and Matching: Flow Algorithms – Maximum Flow– Cuts – Maximum Bipartite Matching -Graph partitioning via multi-commodity flow, Karger’r Min Cut Algorithm. Amortized Analysis – Aggregate Method – Accounting Method – Potential Method. String Matching Algorithms: KMP, Aho-Korasik algorithm, Z-algorithm.