0% found this document useful (0 votes)
34 views

DSD Syllabus

Uploaded by

SOWMIYA R
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
34 views

DSD Syllabus

Uploaded by

SOWMIYA R
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 5

24AD1201 DATA STRUCTURES DESIGN LT 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 – 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:
CO1: explain abstract data types.
CO2: design, implement, and analyse linear data structures, such as lists, queues, and stacks,
according to the needs of different applications.
CO3: design, implement, and analyse 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 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.
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.
24AD1211 DATA STRUCTURES DESIGN LABORATORY LT PC
0 0 4 2
COURSE OBJECTIVES:
● To implement ADTs in Python
● To design and implement linear data structures – lists, stacks, and queues
● To implement sorting, searching and hashing algorithms
● To solve problems using tree and graph structures
LIST OF EXPERIMENTS:
Note: The lab instructor is expected to design problems based on the topics listed. The
Examination shall not be restricted to the sample experiments designed.
1. Implement simple ADTs as Python classes
2. Implement recursive algorithms in Python
3. Implement List ADT using Python arrays
4. Linked list implementations of List
5. Implementation of Stack and Queue ADTs
6. Applications of List, Stack and Queue ADTs
7. Implementation of sorting and searching algorithms
8. Implementation of Hash tables
9. Tree representation and traversal algorithms
10. Implementation of Binary Search Trees
11. Implementation of Heaps
12. Graph representation and Traversal algorithms
13. Implementation of single source shortest path algorithm
14. Implementation of minimum spanning tree algorithms

COURSE OUTCOMES:
At the end of the course, the student should be able to:
CO1: implement ADTs as Python classes
CO2: design, implement, and analyse linear data structures, such as lists, queues, and stacks ,
according to the needs of different applications
CO3: design, implement, and analyse 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
TOTAL:60 PERIODS
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.
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.

You might also like