EE2204 DATA STRUCTURES AND ALGORITHMS
(Common to EEE, EIE & ICE)
AIM:
To master the design and applications of linear, tree, and graph structures. To understand various algorithm design and analysis techniques.
UNIT I LINEAR STRUCTURES
Abstract Data Types (ADT) – List ADT – array-based implementation – linked list implementation – cursor-based linked lists – doubly-linked lists –applications of lists – Stack ADT – Queue ADT – circular queue implementation – Applications of stacks and queues
UNIT II TREE STRUCTURES
Need for non-linear structures – Tree ADT – tree traversals – left child right sibling data structures for general trees – Binary Tree ADT – expression trees – applications of trees – binary search tree ADT
UNIT III BALANCED SEARCH TREES AND INDEXING
AVL trees – Binary Heaps – B-Tree – Hashing – Separate chaining – open addressing – Linear probing
UNIT IV GRAPHS
Definitions – Topological sort – breadth-first traversal - shortest-path algorithms – minimum spanning tree – Prim's and Kruskal's algorithms – Depth-first traversal – biconnectivity – euler circuits – applications of graphs
UNIT V ALGORITHM DESIGN AND ANALYSIS
Greedy algorithms – Divide and conquer – Dynamic programming – backtracking – branch and bound – Randomized algorithms – algorithm analysis – asymptotic notations – recurrences – NP complete problems
TEXT BOOKS
1. M. A. Weiss, “Data Structures and Algorithm Analysis in C”, Pearson Education Asia, 2002.
2. ISRD Group, “Data Structures using C”, Tata McGraw-Hill Publishing Company Ltd., 2006.
REFERENCES
1. A. V. Aho, J. E. Hopcroft, and J. D. Ullman, “Data Structures and Algorithms”, Pearson Education, 1983.
2. R. F. Gilberg, B. A. Forouzan, “Data Structures: A Pseudocode approach with C”, SecondEdition, Thomson India Edition, 2005.
3. Sara Baase and A. Van Gelder, “Computer Algorithms”, Third Edition, Pearson Education, 2000.
4. T. H. Cormen, C. E. Leiserson, R. L. Rivest, and C. Stein, "Introduction to algorithms", Second Edition, Prentice Hall of India Ltd, 2001.