Advanced Data Structures and Indexing (3:0:1)
Course Outcome:
Understand the importance of various types of data structures in solving a problem
through programming.
Able to identify the suitability of a particular data structure to solve a problem.
Critically evaluate the efficient representation of data structures in the memory.
Elucidate the various operations performed on a particular data structure.
Understand the importance of indexing and how it is achieved through a particular
data structure.
Course Content
Unit I:
Introduction, concept of data type, classification of data structures, abstract data types,
Primitive data structures such as integer, real, character & Boolean, and their
representation, Non-primitive data structures such as arrays, their representations,
operations and applications, Linked lists, types of linked lists, operations on linked lists
and their applications.
Unit II:
Introduction, representation, various operations and applications of stacks, queues, trees
and graph data structures.
Unit III:
Introduction, representation, operations and applications of Height balanced trees, Weight
balanced trees, B-trees, B+ trees, Red-Black trees, Splay trees and Skip lists, Interval trees,
Segment trees, KD-trees, Quad trees and related structures with their applications.
Unit IV:
Impact of indices on query performance, basic structure of an index, Types of Indexing and
its data structures.
Reference Books
1. Horowitz and Sahni, Fundamentals of Data Structures, W H Freeman & Co (June 1983).
2. Debasis Samantha, Classic Data Structures, PHI Learning Pvt. Ltd. 2nd Edition.
3. Aho, Ullman and Hopcroft, Data Structures and Algorithms, Addison Wesley (January
1983).
4. Jean-Paul, Tremblay and Sorenson, An introduction to data structures with applications,
McGraw-Hill, 2nd Edition.
5. Peter Brass, Advanced Data Structures, Cambridge University Press, New York, 2008.