Data Structures and Algorithms                                   (3-0-0) 3

Development of  Algorithms: Notations, Analysis, Storage structures for arrays, sparse matrices, structures and arrays of structures.

Stacks and queues.  Applications. Linked lists, linked stacks and queues, operations on polynomials, dynamic storage management, garbage collection and compaction.

Binary trees: binary Search Trees, Tree Traversing, Operations, expression manipulation, symbol table construction, height balanced trees.

Graphs: Representation, path matrix, BFS, DFS, biconnected graphs, topological sort. Strings; Representations, manipulations, pattern matching.  

Sorting techniques – searching. Domain independent techniques, Divide and conquer method, Greedy method, Dynamic programming, backtracking, Branch and bound techniques for lower bound, game trees.


R.L. Kruse etal: Data Structure and Program Design in C, PHI, 1996
E. Horowitz & S. Sahni, Fundamentals of Computer Algorithms, Galgotia, 1988
A.S. Tanenbaum etal, Data Structures using C and C++, PHI, 1996
J.B. Tremblay & P.G. Sorenson, An Introduction to Data structures with Applications, Tata McGraw Hill, 1984.