Data Structures Lab
Teaching Scheme
Credits Assigned
(Hrs/week)
Course
Course Name
Code
L T P L T P Total
Data Structures
25COPCL301 0 0 4 0 0 2 2
Lab
Examination Scheme
Continuous Internal Assessment (CIA) External
IPE Exp Activity Att Total Prac & Oral
30 10 05 05 50 25
IPE: Internal Practical Evaluation (30)
Three (03) internal practical exams of 30 marks each as per below syllabus. 15 marks for Program
execution, 05 marks for Program documentation and 10 marks for viva. The average of 03 exams marks
would be considered as IPE.
Exp: Experiments (10)
Program(s) Execution & Problem(s) Solving: 06; On Time: 02; Viva: 02
Activity: [Assignment/Model/Mini Project] (05)
Minimum Two (02) of the above assessment tools each of 05 marks have to be conducted, covering
the course outcomes. The average marks would be considered.
Att: Attendance (05)
As per the rubric provided by the Attendance committee.
Prac & Oral: An Oral & Practical exam will be held based on the below syllabus.
Prerequisite: C Programming
Course Objectives: The course will enable students to:
1 To implement basic data structures such as arrays, linked lists, stacks and queues.
2 Solve problems involving stacks, queues and linked lists.
3 To develop applications using data structure algorithms.
4 Solve problems involving graphs, and trees.
Course Outcomes (COs): At the end of the course, students will be able to:
Implement various operations like insertion, deletion, and traversing on arrays, stack
CO1
and queues.[BL3]
Implement various operations like insertion, deletion and traversing on linked
CO2
list.[BL3].
Choose appropriate data structure and apply it to solve various problems. [BL3]
CO3
Implement various operations like insertion, deletion and traversing on non linear
CO4
data structures.[BL3].
Select appropriate searching technique to solve a given problem.[BL3]
CO5
CO PO 01 PO 02 PO 03 PO 04 PO 05 PO 06 PO 07 PO 08 PO 09 PO 10 PO 11 PO 12 PSO1 PSO2
CO1 3 2 1 2
CO2 3 2 1 2
CO3 3 3 2 1 2 1
CO4 3 3 1 2 1
CO5 3 3 1 2
CO-PO/PSO Correlation Matrix (3-Strong, 2-Moderate, 1-Weak Correlation)
Week CO
Detailed Contents BL Hrs
No. Mapped
1. Introduction to Arrays and Basic Operations
Concepts: Static vs. Dynamic Arrays, contiguous memory
allocation, indexing.
Programs:
1. Implement a menu-driven program for array
operations: creation, display, insertion at a given
position, deletion from a given position, searching
1 (linear and binary search). CO1 BL3 4
2. Implement menu driven program for matrix
operations: addition, multiplication, transpose.
Problems:
1. Contains Duplicate
(Id 217, [Link]/problems )
2. Two Sum using Brute force
(Id 1, [Link]/problems )
2. Implementation of Stack
Concepts: LIFO principle, Push, Pop, Peek, isEmpty, isFull
Programs:
2 1. Implement a Stack using arrays. CO1 BL3 4
2. Implement Infix to Postfix conversion.
Problem:
1. Valid Parentheses (Id 20, [Link]/problems )
3. Implementation of Queue
Concepts: FIFO principle, Enqueue, Dequeue, Front, Rear,
isEmpty, isFull
Programs:
1. Implement a Queue using arrays.
3 2. Implement a Circular Queue using arrays. CO1 BL3 4
Problems:
1. Generate Binary Numbers from 1 to N
([Link] )
2. Reverse First K elements of Queue
([Link] )
4 ASSESSMENT & SUBMISSION 4
4. Implementation of Linked Lists
Concepts: Singly, Doubly (previous and next pointers), and
circular linked lists.
Programs:
1. Implement a menu-driven program for a Singly
5 Linked List. CO2 BL3 4
2. Implement a menu-driven program for a Doubly
Linked List
Problem:
1. Reverse Singly Linked List (Id 206,
[Link]/problems )
5. Implementation of Trees
Concepts: Recursive function calls, base cases, recursion
vs. iteration. Binary Tree definitions (root, node, child,
parent, leaf).
Programs:
1. Implement basic Binary Tree creation and basic
6 CO4 BL3 4
traversals (In-order, Pre-order, Post-order)
Problems:
1. Level Order Traversal (Id 102,
[Link]/problems ) OR
2. Maximum Depth of Binary Tree (Id 104,
[Link]/problems )
6. Implementation of Binary Search Trees (BST)
Concepts: BST properties (left child < parent < right child),
searching, insertion, deletion.
Programs:
7 1. Implement a menu-driven program for a Binary CO4 BL3 4
Search Tree: insertion, deletion, searching, finding
min/max element, traversals.
Problem:
3. Validate BST (Id 98, [Link]/problems )
8 ASSESSMENT & SUBMISSION 4
7. Stack and Queue using Linked List
Concepts: Dynamic memory for stack and queue. CO1
9 BL3 4
CO2
Programs:
1. Implement stack using linked list.
2. Implement a queue using a linked list.
Problem:
1. Palindrome Linked List (Id 234,
[Link]/problems )
8. Graph Representation and Traversals
Concepts: Graphs (vertices, edges), Adjacency Matrix,
Adjacency List, BFS, DFS.
Programs:
1. Implement Breadth-First Search (BFS) for a given
graph
10 2. Implement Depth-First Search (DFS) for a given CO4 BL3 4
graph.
Problem:
1. Shortest Path in Binary Matrix (Id 1091,
[Link]/problems ) OR
2. Number of Islands (Id 200, [Link]/problems
)
9. Implementation of Hashing
Concepts: Hash functions, collisions, collision resolution
techniques (chaining, linear probing, quadratic probing).
Programs:
11 1. Implement a Hash Table with a chosen hash CO5 BL3 4
function and collision resolution technique.
Problem:
1. Two Sum using Hashing (Id 1,
[Link]/problems )
10. Implementation of Heaps (CBS-Optional)
Concepts: Heap properties (min-heap, max-heap), Heapify.
Programs:
1. Implement a Max-Heap (or Min-Heap) using arrays.
12 2. Implement Heap Sort CO3 BL3 4
Problem:
1. Kth largest element in an array
(Id 215, [Link]/problems )
ASSESSMENT & SUBMISSION
13 4
Assignments: Solve any two
1. Remove Nth Node from End of Singly Linked List.
(N = sum of last 2 digits of your Roll No)
(Leetcode #19)
14 2. Lowest Common Ancestor of a Binary Tree. CO3 BL4 4
(Total No of Nodes = sum of last 2 digits of your Roll
No + 3) (Leetcode #236)
3. Course Schedule (Leetcode #207)
Textbooks:
1 Mark Allen Weiss, “Data Structures and Algorithm Analysis in C”
2 Robert Lafore, “Data Structures and Program Design in C++”
3 Michael T Goodrich, “Data Structures and Algorithms in C++ (or Python/Java
equivalent)”
Websites:
1 Leetcode ( [Link] )
2 GeeksforGeeks ( [Link] )
3 Codeforces ( [Link] )
4 HackerRank ( [Link] )