Pre-requisites : NIL
Review of fundamental data structures; Randomized data structures: 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. String matching; Strings: suffix arrays, tries.
1. T H Cormen, C E Leiserson, R L Rivest and C Stein, Introduction to Algorithms, 3rdEdn., MIT Press,2009.
2. J.Kleinberg and E.Tardos, Algorithm Design, 1stEdn., Pearson Education, 2006