[Link].
Computer Science and Engineering 2025-2026
Semester –II
25CSU222 DATA STRUCTURES 5H – 4C
Instruction Hours / week: L: 3 T: 0 P: 2 Marks: Internal: 40 External: 60 Total:
100
End Semester Exam: 3 Hours
Course Objectives
Familiarize the concepts of ADT Linear Data Structure
Acquaint knowledge in Linear and Non-Linear Data Structures
Gain knowledge on the fundamentals of Trees
Describe the various Graph operations on real-world problems
Apply the Hashing techniques
Course Outcomes (COs)
At the completion of the course, the student will be able to
COs Course Outcomes Blooms Level
CO1 Define linear data structures and apply them in real problems Remember
CO2 Implement linear Data structures like Stack, queue, and deque Create
CO3 Use appropriate Non-Linear data structure tree to solve a real-world Analyze
problem
CO4 Decide appropriate graph algorithm for graph applications Evaluate
CO5 Analyze and apply various hashing functions Analyze
CO-PO Mapping
CO / PO PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PSO1 PSO2
CO1 2 2 2 2 2 1 1 2 1 1 1 2 2
CO2 3 2 2 3 3 2 2 2 3 2 3 2 3
CO3 3 3 3 3 2 3 3 2 1 3 3 3 3
CO4 2 3 2 3 2 3 2 2 1 3 3 3 2
CO5 3 3 3 3 3 3 3 2 1 3 2 3 3
1 - low, 2 - medium, 3 - high
Unit I: LISTS
Basic Terminologies: Elementary Data Organizations, Data Structure Operations: insertion, deletion.
traversal, etc.; Abstract Data Types (ADTs) – List ADT – Array-based implementation – Linked list
implementation – Singly-linked lists – Circularly linked lists – Doubly-linked lists – Applications of lists –
Polynomial ADT – Radix Sort – Multilists
Unit II: STACKS, QUEUES AND DEQUE
Stack ADT – Operations – Applications – Balancing Symbols – Evaluating arithmetic expressions- Infix
to Postfix conversion – Function Calls – Queue ADT – Operations – Circular Queue – DeQueue
Applications of Queues- Deque ADT – Operations- Applications
Unit III: TREES
Tree ADT – Tree Traversals - Binary Tree ADT – Expression trees – Binary Search Tree ADT – AVL
Trees – Red Black Trees- B+ Tree – Priority Queue (Heaps) – Binary Heap.
Unit IV: GRAPHS
Graph Definition – Representation of Graphs – Types of Graphs - Breadth-first traversal – Depth-first
traversal –– Bi-connectivity – Euler circuits – Topological Sort – Dijkstra's algorithm – Bellman
Ford Algorithm – Minimum Spanning Tree – Prim's algorithm – Kruskal's algorithm
Unit V: HASHING TECHNIQUES
Hashing – Hash Functions – Separate Chaining – Open Addressing – Rehashing – Extendible
Hashing-
Double Hashing – Load Factor and Rehashing
PRACTICAL EXERCISES:
1. Implementation of Singly Linked List
2. Implementation of Doubly Linked List
3 Implementation of Circular Linked List
4. Array implementation of Stack, Queue and Circular Queue ADTs
5. Linked list implementation of Stack and Linear Queue ADTs
6. Linked List implementation of Deque
7. Implementation of Evaluating Postfix Expressions, Infix to Postfix conversion
8. Implementation of Binary Search Trees
9. Implementation of AVL Trees
10. Implementation of Heaps using Priority Queues
11. Implementation of Dijkstra’s Algorithm,
12. Implementation of Prim’s and Kruskals
13. Implementation of Open Addressing (Linear Probing and Quadratic Probing)
14. Implementation of intersection of two arrays
15. Implementation of longest subarray with equal number of 0’s and 1’s in a binary array
SUGGESTED READINGS
1. Michael T. Goodrich, Roberto Tamassia, and Michael H. Goldwasser Data Structures and
Algorithms in Python Wiley 2013
2. Liang D Y, Introduction To Python Programming And Data Structures 3/Ed Pearson Education,
2022
3. Shriram K Vasudevan, Abhishek S Nagarajan , Karthick Nanmaran,Data Structures Using Python
Oxford university Press 2021
4. Kent D. Lee, Data Structures and Algorithms with Python: With an Introduction to Multiprocessing
Springer 2024
5. [Link]