Loading...

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.