Welcome to Department of Mathematics
logo

Mail Us
mathoff[AT]iitg.ac.in

Call Us
+91-361-2582650

Data structures and Algorithms

Code: MA512 | L-T-P-C: 3-0-2-8

Prerequistes: MA 511 Computer Programming.

Asymptotic notation; Sorting - merge sort, heap sort, priortiy queue, quick sort, sorting in linear time, order statistics; Data structures - heap, hash tables, binary search tree, balanced trees (red-black tree, AVL tree); Algorithm design techniques - divide and conquer, dynamic programming, greedy algorithm, amortized analysis; Elementary graph algorithms, minimum spanning tree, shortest path algorithms.

Programming laboratory will be set in consonance with the material covered in lectures. This will include assignments in a programming language like C and C++ in GNU Linux environment.

Texts:

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

References:

  1. M. T. Goodrich and R. Tamassia, Data Structures and Algorithms in Java, Wiley, 2006.
  2. A.V. Aho and J. E. Hopcroft, Data Structures and Algorithms, Addison-Wesley, 1983.
  3. S. Sahni, Data Structures, Algorithms and Applications in C++, 2nd Ed., Universities Press, 2005.