24AD3251 DATASTRUCTURES DESIGN
UNIT I ABSTRACT DATA TYPES
Abstract Data Types (ADTs) – ADTs and classes – introduction to OOP – classes in Python –
inheritance – namespaces – shallow and deep copying Introduction to analysis of algorithms
– asymptotic notations – recursion – analyzing recursive algorithms
UNIT II LINEAR STRUCTURES
List ADT – array-based implementations – linked list implementations – singly linked lists –
circularly linked lists – doubly linked lists – applications of lists – Stack ADT – Queue ADT
– double ended queues
UNIT III SORTING AND SEARCHING
Bubble sort – selection sort – insertion sort – merge sort – quick sort – linear search – binary
search – hashing – hash functions – collision handling – load factors, rehashing, and
efficiency
UNIT IV TREE STRUCTURES
Tree ADT – Binary Tree ADT – tree traversals – binary search trees – AVL trees – heaps –
multi way search trees
UNIT V GRAPH STRUCTURES
Graph ADT – representations of graph – graph traversals – DAG – topological ordering –
shortest paths – minimum spanning trees