CAP770:ADVANCED DATA STRUCTURES
L:3 T:0 P:2 Credits:4
Course Outcomes: Through this course students should be able to
CO1 :: understand the concepts of abstract data type and algorithm complexity
CO2 :: apply suitable data structure for solving problems
CO3 :: examine the working of hashing and collision resolution techniques
CO4 :: analyze the performance of various algorithms
Unit I
Introduction : need of data structures and algorithms, time and space complexity of algorithms,
asymptotic notations, average and worst case analysis, arrays vs linked lists, operations on arrays
and linked lists.
Unit II
Stacks and Queues : implementation of stacks, applications of stacks: quick sort, parenthesis
checker, arithmetic expression conversion and evaluation, tower of Hanoi problem, role of stack in
recursion, implementation of queues, priority queue, applications of queues
Unit III
Search trees : binary search trees: searching, insertion and deletion operations, AVL trees:
balancing operations, b-trees: properties and operations, red-black trees, splay trees: properties and
operations, 2-3 trees: properties and operations
Unit IV
Heaps : introduction to heaps, min heap, max heap, operations on heap, applications of heap:
priority queue implementation, heap sort, binomial heaps, fibonacci heaps
Unit V
Graphs : type of graphs, adjacency matrix and linked adjacency chains, connected components and
spanning trees, breadth first search, depth first search, network flow problems, warshall's algorithm
for shortest path, topological sort
Unit VI
Hashing techniques : linear list representation, hash table representation, hash functions, collision
resolution-separate chaining, open addressing-linear probing, quadratic probing, double hashing,
rehashing
List of Practicals / Experiments:
Programs on
• Program to implement the concept of stacks
• Program to implement the concept of queues
• Program to implement the concept of search trees
• Program to implement the concept of heaps
• Program to implement the concept of graphs
• Program to implement the concept of hashing techniques
Text Books:
1. DATA STRUCTURES AND ALGORITHMS IN C++ by ADAM DROZDEK, THOMSON
EDUCATIONAL PUBLISHING
References:
1. DATA STRUCTURES AND ALGORITHM ANALYSIS IN C by MARK ALLEN WEISS, ADDISON-
WESLEY
2. DATA STRUCTURES AND ALGORITHMS by AHO, HOPCRAFT, ULLMAN, PEARSON
3. INTRODUCTION TO ALGORITHMS by THOMAS H., LEISERSON, CHARLES E., RIVEST,
RONALD L., STEIN, CLIFFORD, PHI Learning
Session 2022-23 Page:1/2
Session 2022-23 Page:2/2