AD3251 - DATA STRUCTURES DESIGN (Syllabus) 2021-regulation Anna University
AD3251 - DATA STRUCTURES DESIGN (Syllabus) 2021-regulation Anna University
AD3251 | DATA STRUCTURES DESIGN | LPTC |
---|
3003
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
● 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 – recursion – analyzing recursive algorithms
Introduction to analysis of algorithms – asymptotic notations – 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 – applications of lists – Stack ADT – Queue ADT – double ended queues
UNIT III | SORTING AND SEARCHING | 9 |
---|
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 | 9 |
---|
Tree ADT – Binary Tree ADT – tree traversals – binary search trees – AVL trees – heaps – multi- way search trees
UNIT V | GRAPH STRUCTURES | 9 |
---|
Graph ADT – representations of graph – graph traversals – DAG – topological ordering – shortest paths – minimum spanning trees
TOTAL : 45 PERIODS
COURSE OUTCOMES: At the end of the course, the student should be able to:
• explain abstract data types
• design, implement, and analyse linear data structures, such as lists, queues, and stacks, according to the needs of different applications
• design, implement, and analyse efficient tree structures to meet requirements such as searching, indexing, and sorting
• model problems as graph problems and implement efficient graph algorithms to solve them
• design, implement, and analyse linear data structures, such as lists, queues, and stacks, according to the needs of different applications
• design, implement, and analyse efficient tree structures to meet requirements such as searching, indexing, and sorting
• model problems as graph problems and implement efficient graph algorithms to solve them
TEXT BOOKS:
1. Michael T. Goodrich, Roberto Tamassia, and Michael H. Goldwasser, “Data Structures and Algorithms in Python” (An Indian Adaptation), Wiley, 2021.
2. Lee, Kent D., Hubbard, Steve, “Data Structures and Algorithms with Python” Springer Edition 2015.
3. Narasimha Karumanchi, “Data Structures and Algorithmic Thinking with Python” Careermonk, 2015.
2. Lee, Kent D., Hubbard, Steve, “Data Structures and Algorithms with Python” Springer Edition 2015.
3. Narasimha Karumanchi, “Data Structures and Algorithmic Thinking with Python” Careermonk, 2015.
REFERENCES:
1. Rance D. Necaise, “Data Structures and Algorithms Using Python”, John Wiley & Sons, 2011.
2. Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein, “Introduction to Algorithms", Third Edition, PHI Learning, 2010.
3. Mark Allen Weiss, “Data Structures and Algorithm Analysis in C++”, Fourth Edition, Pearson Education, 2014
4. Aho, Hopcroft, and Ullman, “Data Structures and Algorithms”, Pearson Education India, 2002.
2. Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein, “Introduction to Algorithms", Third Edition, PHI Learning, 2010.
3. Mark Allen Weiss, “Data Structures and Algorithm Analysis in C++”, Fourth Edition, Pearson Education, 2014
4. Aho, Hopcroft, and Ullman, “Data Structures and Algorithms”, Pearson Education India, 2002.
Comments
Post a Comment