Course Info
Lectures
- Introduction (Shahrivar 27, 29)
- Analysis of Algorithms, Fibonacci Numbers [KT Ch2]
- Sample Problems: Largest Consecutive Subsequence, 3SUM [CLRS Ch4.1]
- Design by Induction (Mehr 10)
- Evaluating Polynomials, Finding Celebrity, Min/Max [M Ch5]
- Divide and Conquer (Mehr 24)
- Exponentiation, Computing Recurrences, Integer Multiplication, Matrix Multiplication [KT
Ch5.1-5], [CLRS Ch4.2]
- Greedy Algorithms (Mehr 26, Aban 1)
- Coin Changing, Activity Selection, Knapsack [KT Ch4.1-2]
- Data Compression, Shannon-Fano, Huffman Codes [KT Ch4.8]
- Dynamic Programming (Aban 3, 8, 10)
- 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 15, 17)
- Minimum Spanning Trees: Kruskal, Prim, and Boruvka [KT Ch4.4], [CLRS Ch24]
- All-Pairs Shortest Paths: Floyd-Warshal and Johnson [CLRS Ch25]
- Maximum Flow (Aban 22, 24)
- Max Flow and Min Cut, Ford-Fulkerson Algorithm [KT Ch7.1-2]
- Variants and Applications of Maximum Flow [KT Ch7.5-8]
- String Matching (Aban 29, Azar 1)
- Knuth-Morris-Pratt Algorithm [CLRS Ch32]
- Rabin-Karp Algorithm, Fingerprint Method [CLRS Ch32]
- Linear Programming (Azar 6, 8)
- Definition and Applications [CLRS Ch29.1-2]
- Simplex Method [CLRS Ch29.3, 5]
- NP-Completeness (Azar 13, 15, 20)
- 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 (Azar 22, 27)
- n-Queens, Subset Sum, 3-Coloring [BB Ch6.6]
- Branch and Bound, Coloring, TSP, Game Trees, α-β Pruning [BB Ch6.6]
- Approximation Algorithms (Azar 29, Dey 4)
- 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