Advanced Data Structures & AlgoRithm
ADSA Course As a Core Course Theory Course- 3CO503 (3 lectures per week) 3 credits for THEORY Theory Course- 3CO552 (2 hours per week) 1 credit for LAB
Course Objectives To impart knowledge of advanced data structures such as temporal data structures and geometric data structures. To make students familiar with advanced concepts related to trees, graphs, hashing and string matching. To contribute in choosing appropriate data structures and using them for solving real world problems.
Course Outcomes Interpret and summarize the purpose and operation of advanced data structures Apply and demonstrate knowledge of advanced data structures for solving real world problems. Analyze algorithms, compare data structures and appropriately evaluate the performance of the advanced data structures
Division into 6 Modules Module 1: Temporal and Geometric DS Module 2: Advanced Trees Module 3- Selected Graph Problems Module 4- Hashing Module 5- String Matching Module 6- Dynamic Trees
Division into 6 Modules Module 1: Temporal and Geometric DS Temporal Data Structures: Persistent data structures - Model and definitions Partial persistence, Full persistence, Retroactive data structures – Retroactivity Full retroactivity, Nonoblivious Retroactivity Geometric data structures - Planar Point Location, Orthogonal range searching, Fractional Cascading
Division into 6 Modules Module 2: Advanced Trees Advanced Trees Binary Search Trees, AVL trees, red-black trees (Book- Cormen – chapter 13), Splay Trees, Tango Trees
Division into 6 Modules Module 3- Selected Graph Problems Vertex coloring, edge coloring, Network flows: Max flow – mincut theorem (Cormen Chapter 26) Probabilistic methods – Markov’s inequality.
Division into 6 Modules Module 4- Hashing Hashing Hash Function, Basic Chaining, FKS Perfect Hashing, Linear Probing, Cuckoo Hashing Skip Lists
Division into 6 Modules Module 5- String Matching String matching - Predecessor Problem, Suffix Trees, Suffix Arrays, Tries Trie node structure and its applications
Division into 6 Modules Module 6- Dynamic Trees Miscellaneous - Dynamic trees - Link-cut Trees, Operations on link-cut trees, Dynamic Connectivity, Euler-Tour Trees, Other Dynamic Graph Problems,
Evaluation Theory ISE-I (10 marks) MSE (30 marks) ISE-II (10 marks) ESE (50 marks) Separate Passing for ESE Lab ISE (50 marks)
Evaluation ISE-I (10 marks): Declared Test MSE (30 marks): 3 Modules ISE-II (10 marks): Assignment Submissions, Oral ESE(50 marks): Other 3 modules (30 to 35 marks) First 3 modules (15 to 20 marks)
Text Books Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein, “Introduction to Algorithms,” 3rd Edition, PHI, 2009 MIT Courseware by Erik Demaine Mark de Berg, Otfried Cheong, Marc van Kreveld, Mark Overmars , Computational Geometry – Algorithms and Applications”, 3rd Edition, Springer, 2008
Reference Books Joseph O’Rourke, “Computational Geometry in C”, Cambridge University Press Reinhard Diestel, “Graph Theory”, Spinger-Verlag, 2000 Peter Brass, “ Advanced Data Structures”, Cambridge University Press
ALL THE BEST