DATA STRUCTURES AND ALGORITHM
COURSE OBJECTIVES:
• To understand the concepts of ADTs
• To design linear data structures – lists,stack,and queues
• To understand sorting,searching,and hashing algorithms
• To apply Tree and Graph structures
UNIT I ABSTRACT DATA TYPES
Abstract Data Types(ADTs) – ADTs and classes – introduction to OOP – classes in python –
inheritance – namespace - shallow and deep coping – introduction to analysis of algorithm –
asymptotic notations – divide & conquer – 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 – stack ADT – Queue ADT – double ended queues –
applications
UNIT III SOTING AND SEARCHING
Bubble sort – selection sort – insertion sort – merge sort – quick sort – analysis of sorting
algorithms – linear search – binary search – hashing – hash functions – collision handling – bad
factors,rechashing,and efficiency
UNIT IV TREE STRUCTURES
Tree ADT – Binary Tree ADT – tree traversals – binary search trees - AVL trees – heaps –
multiway serach trees
UNIT V GRAPH STRUCTURES
Graph ADT – representation of graph – graph traversals – DAG – topological ordering – greedy
algorithms – dynamic programming – shortest paths – spanning trees – introduction to complexity
classes and intractability
TEXT BOOK:
1.Michael T.Goodrich,Roberto tamassia,and Michael H. Goldwasser,”Data structure & Algorithms
in Python”,An Indian Adaptation,John Wiley & Sons Inc.,2021