CD3291 DATA STRUCTURES AND ALGORITHMS L T P C 3 0 0 3
COURSE OBJECTIVES:
·
To understand the concepts of ADTs
·
To design linear data structures – lists, stacks, and queues
·
To understand sorting, searching, and hashing algorithms
·
To apply Tree and Graph structures
UNIT I ABSTRACT DATA TYPES 9
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
– divide & conquer – recursion – analyzing recursive algorithms
UNIT II LINEAR STRUCTURES 9
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 SORTING AND SEARCHING 9
Bubble sort –
selection sort – insertion sort – merge sort – quick sort – analysis of sorting
algorithms – linear search – binary search – hashing – hash functions –
collision handling – load factors, rehashing, and efficiency
UNIT IV TREE STRUCTURES 9
Tree ADT – Binary Tree ADT – tree traversals – binary
search trees – AVL trees – heaps – multi[1]way search trees
UNIT V GRAPH STRUCTURES 9
Graph ADT – representations of graph – graph
traversals – DAG – topological ordering – greedy algorithms – dynamic
programming – shortest paths – minimum spanning trees – introduction to
complexity classes and intractability
TOTAL: 45 PERIODS
COURSE OUTCOMES: At the end of the course, the student
should be able to:
CO1:Explain abstract data types
CO2:Design, implement, and analyze linear data structures,
such as lists, queues, and stacks, 27 according to the needs of different
applications
CO3:Design, implement, and analyze efficient tree
structures to meet requirements such as searching, indexing, and sorting
CO4:Model problems as graph problems and implement
efficient graph algorithms to solve them
TEXT BOOK:
1. Michael
T. Goodrich, Roberto Tamassia, and Michael H. Goldwasser, “Data Structures
& Algorithms in Python”, An Indian Adaptation, John Wiley & Sons Inc.,
2021
REFERENCES:
1. Lee, Kent D., Hubbard, Steve,
“Data Structures and Algorithms with Python” Springer Edition 2015
2. Rance D. Necaise, “Data Structures
and Algorithms Using Python”, John Wiley & Sons, 2011
3. Aho, Hopcroft, and Ullman, “Data
Structures and Algorithms”, Pearson Education, 1983.
4. Thomas H. Cormen, Charles E.
Leiserson, Ronald L. Rivest, and Clifford Stein, “Introduction to
Algorithms", Second Edition, McGraw Hill, 2002.
5. Mark Allen Weiss, “Data Structures
and Algorithm Analysis in C++”, Fourth Edition, Pearson Education, 2014
No comments:
Post a Comment