SYLLABUS
Subject : DATA STRUCTURES AND ALGORITHMS
Code : CD3291
Branch : B.Tech - Information Technology
Semester : III
Name of the faculty : R.Gayathri Date: 07/07/2025
Page: 1 of 5
COURSE OUTCOMES:
CO1: Explain abstract data types.
CO2: Design, implement, and analyze linear data structures, such as lists, queues, and stacks, 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.
PSO1
PSO2
PSO3
PO10
PO11
PO12
PO1
PO2
PO3
PO4
PO5
PO6
PO7
PO8
PO9
- - -
CO1 1 2 2 3 1 2 - 2 1 1 1 1
- - -
CO2 2 3 2 2 2 2 - 2 2 3 2 2
- - -
CO3 2 2 3 2 3 3 - 2 2 3 2 2
- - -
CO4 3 3 3 3 1 3 - 2 2 3 2 3
- - - 1.7 2. 1.7
AVG 2 2.5 2.5 2.5 1.75 2.5 - 2 2
5 5 5
TEXT BOOKS:
T1. Michael T. Goodrich, Roberto Tamassia, and Michael H. Goldwasser, “Data Structures & Algorithms in Python”,
An Indian Adaptation, John Wiley & Sons Inc., 2021
REFERENCES:
R1. Lee, Kent D., Hubbard, Steve, “Data Structures and Algorithms with Python” Springer Edition 2015
R2. Rance D. Necaise, “Data Structures and Algorithms Using Python”, John Wiley & Sons, 2011
R3. Aho, Hopcroft, and Ullman, “Data Structures and Algorithms”, Pearson Education, 1983.
R4.Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein, “Introduction to Algorithms",
Second Edition, McGraw Hill, 2002.
R5. Mark Allen Weiss, “Data Structures and Algorithm Analysis in C++”, Fourth Edition, Pearson Education, 2014
SYLLABUS
Subject : DATA STRUCTURES AND ALGORITHMS
Code : CD3291
Branch : B.Tech - Information Technology
Semester : III
Name of the faculty : : R.Gayathri
Date: 07/07/2025
Page: 2 of 5
SYLLABUS
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 – multiway
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 No. of hours as per syllabus : 45
Total No of hours available as per calendar :
Hours (Cumulative) 9 18 27 36 45
Units 1 2 3 4 5
Faculty In charge HOD/IT Principal
LECTURE PLAN
Subject : DATA STRUCTURES AND
ALGORITHMS
Code : CD3291
Branch : B.Tech - Information Technology Date: 07/07/2025
Semester : III
Name of the faculty : : R.Gayathri Page: 3 of 5
UNIT I ABSTRACT DATA TYPES
Lecture
Mode of
Hours Series Topics to be covered Text/Ref
teaching
No.
1 1. Abstract Data Types (ADTs) – ADTs and classes T1 Board
2 2. Introduction to OOP T1 PPT
3 3. Classes in Python T1 Board
4 4. Inheritance – namespaces T1 Board
Shallow and deep copying Introduction to analysis of T1 Board
5 5. algorithms
6 6. Asymptotic notations T1 Board
7 7. Divide & conquer T1 Board
8 8. Recursion T1 Board
9 9. Analyzing recursive algorithms T1 Board
UNIT II LINEAR STRUCTURES
Lecture Mode of
Hour
Series Topics to be covered Text/Ref teaching
s
No.
1 10. List ADT T1 Board
array-based implementations T1 Board
2 11.
3 12. linked list implementations T1 Board
4 13. singly linked lists T1 Board
5 14. circularly linked lists T1 Board
6 15. doubly linked lists T1 Board
7 16. Stack ADT T1 Board
8 17. Queue ADT T1 Board
9 18. Double Ended Queues -Applications T1 Board
UNIT III SORTING AND SEARCHING
Hours Lecture Mode of
Series Topics to be covered Text/Ref teaching
No.
1 19. Bubble sort – Selection sort T1 Board
2 20. Insertion sort – Merge sort T1 Board
3 21. Quick sort T1 Board
4 22. Analysis of Sorting Algorithms R1 Board
5 23. Linear Search R1 Board
6 24. Binary Search R1 Board
7 25. Hashing – Hash functions R1 Board
8 26. Collision Handling R1 Board
9 27. Load factors, Rehashing, and efficiency R1 Board
UNIT IV TREE STRUCTURES
Hours Lecture Mode of
Series Topics to be covered Text/Ref teaching
No.
1 28. Tree ADT R2 Board
2 29. Binary Tree ADT R2 Board
3 30. Tree Traversals R2 Board
4 31. Binary Search Trees R2 Board
5 32. AVL trees R2 Board
6 33. Heaps R2 Board
7 34. Heaps R2 Board
8 35. Multi-way Search Trees R2 Board
9 36. Multi-way Search Trees R2 Board
UNIT V GRAPH STRUCTURES
Lecture Mode of
Hour
Series Topics to be covered Text/Ref teaching
s
No.
1 37. Graph ADT – Representations of graph R3 Board
2 38. Graph Traversals R3 Board
3 39. DAG R3 Board
4 40. Topological Ordering R3 Board
5 41. Greedy Algorithms R3 Board
6 42. Dynamic Programming R3 Board
7 43. Shortest Paths R3 Board
8 44. Minimum Spanning Trees R3 Board
9 45. Introduction to Complexity classes and Intractability R3 PPT
TOTAL PERIODS : 45
PROPOSED DATE OF COMPLETION :
Faculty In charge HOD/IT Principal
COURSE DELIVERY PLAN
Subject : DATA STRUCTURES AND ALGORITHMS
Code : CD3291
Branch : B.Tech - Information Technology
Semester : III
Name of the faculty : : R.Gayathri Date: 07/07/2025
UNIT
PROPOSED DATE
HOUR UNIT WISE TOPIC
OF COMPLETION
HOUR
1 1 1. Abstract Data Types (ADTs) – ADTs and classes
2 1 2. Introduction to OOP
3 1 3. Classes in Python
4 1 4. Inheritance – namespaces
Shallow and deep copying Introduction to
5 1 5.
analysis of algorithms
6 1 6. Asymptotic notations
7 1 7. Divide & conquer
8 1 8. Recursion
9 1 9. Analyzing recursive algorithms
10 2 10. List ADT
11 2 11. array-based implementations
12 2 12. linked list implementations
13 2 13. singly linked lists
14 2 14. circularly linked lists
15 2 15. doubly linked lists
16 2 16. Stack ADT
17 2 17. Queue ADT
18 2 18. Double Ended Queues -Applications
19 3 19. Bubble sort – Selection sort
20 3 20. Insertion sort – Merge sort
21 3 21. Quick sort
22 3 22. Analysis of Sorting Algorithms
23 3 23. Linear Search
24 3 24. Binary Search
25 3 25. Hashing – Hash functions
26 3 26. Collision Handling
27 3 27. Load factors, Rehashing, and efficiency
28 4 28. Tree ADT
29 4 29. Binary Tree ADT
30 4 30. Tree Traversals
31 4 31. Binary Search Trees
32 4 32. AVL trees
33 4 33. Heaps
34 4 34. Heaps
35 4 35. Multi-way Search Trees
36 4 36. Multi-way Search Trees
37 5 37. Graph ADT – Representations of graph
38 5 38. Graph Traversals
39 5 39. DAG
40 5 40. Topological Ordering
41 5 41. Greedy Algorithms
42 5 42. Dynamic Programming
43 5 43. Shortest Paths
44 5 44. Minimum Spanning Trees
45 5 45. Introduction to Complexity classes and
Intractability
Faculty In charge HOD/IT Principal