MCS10 202 Algorithms and Complexity
MCS10 202 Algorithms and Complexity
Module I: (13 hours) Analysis: RAM model Notations, Recurrence analysis - Master's theorem and its proof - Amortized analysis - Advanced Data Structures: B-Trees, Binomial Heaps, Fibonacci Heaps, Disjoint Sets, Union by Rank and Path Compression Module II: (13 hours) Graph Algorithms and complexity: Matroid Theory, All-Pairs Shortest Paths, Maximum Flow and Bipartite Matching. Module III: (14 hours) Randomized Algorithms : Finger Printing, Pattern Matching, Graph Problems, Algebraic Methods, Probabilistic Primality Testing, De-Randomization Module IV: (14 hours) Complexity classes - NP-Hard and NP-complete Problems - Cook's theorem NP completeness reductions. Approximation algorithms Polynomial Time and Fully Polynomial time Approximation Schemes. Probabilistic Complexity Classes, Probabilistic Proof Theory and Certificates. References 1. Dexter Kozen, The Design and Analysis of Algorithms, Springer, 1992. 2. T. H. Cormen, C. E. Leiserson, R. L. Rivest, Introduction to Algorithms, Prentice Hall India, 1990. 3. S. Basse, Computer Algorithms: Introduction to Design and Analysis, Addison Wesley, 1998. 4. U. Manber, Introduction to Algorithms: A creative approach, Addison Wesley, 1989. 5. V. Aho, J. E. Hopcraft, J. D. Ullman, The design and Analysis of Computer Algorithms, Addison Wesley, 1974