Pre-requisites : NIL

Syllabus :
Review of fundamental Data Structures Models of Computation: random access machines, space and time complexity measures, lower and upper bounds Design techniques: the greedy method, divide-and-conquer, dynamic programming, backtracking Sorting and Searching Graph algorithms Hashing: separate chaining, linear probing, quadratic probing Search Trees: binary search trees, AVL trees, B-trees NP-completeness.

Texts :
1. T H Cormen, C E Leiserson, R L Rivest and C Stein, Introduction to Algorithms, 3/e, MIT Press, 2009.
2. Jon Kleinberg and Eva Tardos, Algorithm Design, 1/e, Pearson Education, 2006.

References :
1. S Sahni, Data Structures, Algorithms and Applications in C++, McGraw-Hill, 2001.
2. M T Goodrich and R Tamassia, Algorithm Design: Foundations, Analysis and Internet Examples, John Wiley & Sons, 2001.