CS512 | DATA STRUCTURES AND ALGORITHMS | 3-0-0-6 |
Pre-requisites : CS204 Algorithms |
Syllabus : Performance of algorithms: space and time complexity, asymptotics Design techniques: the greedy method, divide-and-conquer, dynamic programming Sorting and searchingGraph Algorithms Priority Queues: lists, heaps, binomial heaps, Fibonacci heaps Hashing Search Trees: binary search trees, red-black trees, AVL trees, splay trees, B-trees The disjoint set union problem String matching Strings: suffix arrays, tries Randomized data structures: skip lists A selection of advanced topics. |
Texts : 1. T. H. Cormen, C. E. Leiserson, R. L. Rivest and C. Stein, Introduction to Algorithms, MIT Press, 2001. 2. J. Kleinberg and E. Tardos, Algorithm Design, Addison Wesley, 2005. |
References : 1. A. Aho, J. E. Hopcroft and J. D. Ullman, The Design and Analysis of Computer Algorithms, Addison-Wesley, 1974. 2. S. Sahni, Data Structures, Algorithms and Applications in C++, McGraw-Hill, 2001. 3. M. T. Goodrich and R. Tamassia, Algorithm Design: Foundations, Analysis and Internet Examples, John Wiley & Sons, 2001. |