| Course Code: CS1213 Course Name: Data Structures Prerequisites: Nil Syllabus: Introduction: Concept of abstract data type, Data structure as Representation and Behavior, Asymptotic analysis, Sorting and Searching algorithms; Linear Data Structures: Array, Linked list, Stack, Queue and variants of these linear data structures; Tree based data structures: Binary tree, Binary search tree, Tree traversals, Height balanced binary search tree (AVL and Red Black), Heap, Multi-branch tree, B tree, B+ tree; Graph based data structures: Adjacency matrix, Adjacency list, Edge list, Choosing between dense vs sparse representation, Basic graph traversals; Other Data Structures: Hash tables, Set and disjoint set data structures, Multidimensional trees, String data structures. Texts: 1. Michael Goodrich, Roberto Tamassia, and David Mount, Data Structures and Algorithms in C++ (2nd edition), Wiley Publication, 2016. 2. Robert Sedgewick, Algorithms in C++, Parts 1-5: Fundamentals, Data Structure, Sorting, Searching, and Graphs, Pearson Education, ISBN: 978-8131713051 (parts 1 to 4), 978-0201361186 (Part 5) 3. T. H. Cormen, C. F. Leiserson, R. L. Rivest, C. Stein, Introduction to Algorithms (4th edition), MIT Press. 2001. |