Course Info
Lectures
- Introduction (Mehr 4)
- Analysis of Algorithms, Fibonacci Numbers [KT Ch2]
- Design by Induction (Mehr 16)
- Evaluating Polynomials, Maximum Subarray, Finding Celebrity [CLRS Ch4.1], [M Ch5]
- Divide and Conquer (Mehr 18, 23)
- Exponentiation, Computing Recurrences, Integer Multiplication, Closest Pair [KT
Ch5.1-5]
- Matrix Multiplication, Fast Fourier Transform [CLRS Ch4.2], [KT
Ch5.6]
- Greedy Algorithms (Mehr 25, 30)
- Coin Changing, Activity Selection, Knapsack [KT Ch4.1-2]
- Data Compression, Shannon-Fano, Huffman Codes [KT Ch4.8]
- Dynamic Programming (Aban 2, 7, 9)
- Computing Binomials, Weighted Interval Scheduling [KT Ch6.1-2]
- Matrix-Chain Multiplication, Knapsack, Independent Set on Trees
[CLRS Ch15.2], [KT Ch6.4]
- Largest Common Subsequence, Edit Distance, LIS [CLRS Ch15.4], [M Ch6.11]
- Graph Algorithms (Aban 14, 16, 21, 23)
- Graph Traversals: BFS and DFS, Applications [CLRS Ch22.1-5]
- Minimum Spanning Trees: Kruskal, Prim, and Boruvka [KT Ch4.4], [CLRS Ch24]
- Binomial Heaps, Fibonacci Heaps [CLRS Ch19]
- All-Pairs Shortest Paths: Floyd-Warshal and Johnson [CLRS Ch25]
- Maximum Flow (Aban 28, 30)
- Max Flow and Min Cut, Ford-Fulkerson Algorithm [KT Ch7.1-2]
- Variants and Applications of Maximum Flow [KT Ch7.5-8]
- String Matching (Azar 5, 7)
- Knuth-Morris-Pratt Algorithm [CLRS Ch32]
- Rabin-Karp Algorithm, Fingerprint Method [CLRS Ch32]
- Linear Programming (Azar 12, 14)
- Definition and Applications [CLRS Ch29.1-2]
- Simplex Method [CLRS Ch29.3, 5]
- NP-Completeness (Azar 19, 21, 28)
- Polynomial-Time Reduction [KT Ch8.1-2]
- Circuit SAT, NP-Hardness [KT Ch8.3-4]
- Sequencing, Partitioning, and Numerical Problems [KT Ch8.5,7,8]
- Backtracking (Dey 3, 5)
- n-Queens, Subset Sum, 3-Coloring [BB Ch6.6]
- Branch and Bound, Coloring, TSP, Game Trees, α-β Pruning [BB Ch6.6]
- Approximation Algorithms (Dey 10, 12)
- Vertex Cover, Max Cut [CLRS Ch35.1], [KT Ch12.4]
- TSP, Hardness of Approximation [CLRS Ch35.2], [KT Ch11.6]
References
- [KT] J. Kleinberg and E. Tardos, Algorithm Design, Addison Wesley, 2005.
- [CLRS] T. Cormen, C. Leiserson, R. Riverst, and C. Stein, Introduction to Algorithms, 3rd
edition, MIT Press, 2009.
- [M] U. Manber, Introduction to Algorithms: A Creative Approach, Addison Wesley, 1989.
- [BB] G. Brassard, P. Bratley, Algorithmics: Theory and Practice, Prentice-Hall, 1988.
Resources