Guidelines_DS_Python
Guidelines_DS_Python
[1]
3 Unit 3 - Recursion Ch-4: 4.1 (4.1.1 and 4.1.3), 4.4 [1] 4
(4.4.1 and 4.4.2)
4 Unit 4 - Trees, Binary trees, Ch-8: 8.1, 8.2, 8.3 (8.3.1), 8.4 (upto [1] 13
Binary Search Trees, Balanced 8.4.4)
Search Trees
Ch-11: 11.1, 11.2 (introduction),
11.3 upto 11.3.1 (11.3.2 to be
covered for practicals only)
5 Unit 5 - Binary Heap ch-6: 6.1-6.3 [2] 4
References
1. Goodrich M.T., Tamassia R., & Goldwasser M.H., Data Structures and Algorithms in
Python, Wiley, 2021.
2. Cormen, T.H., Leiserson, C.E., Rivest, R. L., Stein C. Introduction to Algorithms, Prentice
Hall of India, 2022.
3. Taneja, S. and Kumar, N., Python Programming: A modular approach, Pearson, 2017.
Additional References
(i) Drozdek A., Data Structures and Algorithms in Python, 1 st Edition, Cengage learning,
2024.
Practicals List
1. Write a program to implement singly linked list as an ADT that supports the following opera-
tions:
i. Insert an element x at the beginning of the singly linked list
ii. Insert an element x at ith position in the singly linked list
iii. Remove an element from the beginning of the doubly linked list
iv. Remove an element from ith position in the singly linked list.
vi. Search for an element x in the singly linked list and return its pointer
2. Write a program to implement doubly linked list as an ADT that supports the following op-
erations:
i. Insert an element x at the beginning of the doubly linked list
ii. Insert an element x at the end of the doubly linked list
iii. Remove an element from the beginning of the doubly linked list
iv. Remove an element from the end of the doubly linked list
3. Write a program to implement circular linked list as an ADT which supports the following
operations:
i. Insert an element x in the list
ii. Remove an element from the list
iii. Search for an element x in the list and return its pointer