MA 252

DESIGN AND ANALYSIS OF ALGORITHMS

3-0-0-6

 

Prerequisites:  MA251 or equivalent

 

Syllabus:

Sorting and order statistics – linear time sorting, randomize quicksort, lower bounds for sorting, median and order statistics, randomized selection; Design and analysis techniques – greedy method, divide-and-conquer, dynamic programming, amortized analysis; Graph algorithms – properties of BFS and DFS, connected components, topological sort, minimum spanning trees, shortest paths, maximum flow; NP-completeness; Approximation algorithms.

Textbooks:

1.     T. H. Cormen, C. E. Leiserson, R. L. Rivest and C. Stein, Introduction to Algorithms, Prentice-Hall of India, 2009.

References:

1.     A. V. Aho, J. E. Hopcroft and J. D. Ullman, The Design and Analysis of Computer Algorithms, Pearson Education, 2006.

2.     J. Kleinberg and E. Tardos, Algorithm Design, Pearson Education, 2006.

3.     E. Horowitz and S. Sahni, Fundamentals of Computer Algorithms, Galgotia Publishers, 1984.

4.     M. T. Goodrich and R. Tamassia, Algorithm Design: Foundations, Analysis and Internet Examples, John Wiley, 2001.

5.     H. Papadimitriou and K. Steiglitz, Combinatorial Optimization: Algorithms and Complexity, Prentice Hall of India, 1992.