Department of Artificial Intelligence & Machine Learning – 2023
JNTUK B.Tech. R23 Regulations
L T P C
DATA STRUCTURES LAB 0 0 3 1.5
Course Objectives:
The course aims to strengthen the ability of the students to identify and apply the suitable
data structure for the given real-world problem. It enables them to gain knowledge in practical
applications of data structures.
Course Outcomes:
At the end of the course, Student will be able to
CO1: Explain the role of linear data structures in organizing and accessing data efficiently in
algorithms.
CO2: Design, implement, and apply linked lists for dynamic data storage, demonstrating
understanding of memory allocation.
CO3: Develop programs using stacks to handle recursive algorithms, manage program states,
and solve related problems.
CO4: Apply queue-based algorithms for efficient task scheduling and breadth-first traversal in
graphs and distinguish between deques and priority queues and apply them appropriately to
solve data management challenges.
CO5: Recognize scenarios where hashing is advantageous, and design hash-based solutions
for specific problems.
List of Experiments:
Exercise 1: Array Manipulation
i) Write a program to reverse an array.
ii) C Programs to implement the Searching Techniques – Linear & Binary Search
iii) C Programs to implement Sorting Techniques – Bubble, Selection and Insertion Sort
Exercise 2: Linked List Implementation
i) Implement a singly linked list and perform insertion and delet ion operations.
ii) Develop a program to reverse a linked list iteratively and recursively.
iii) Solve problems involving linked list traversal and manipulation.
Exercise 3: Linked List Applications
i) Create a program to detect and remove duplicates from a linked list.
Department of Artificial Intelligence & Machine Learning – 2023
JNTUK B.Tech. R23 Regulations
ii) Implement a linked list to represent polynomials and perform addition.
iii) Implement a double-ended queue (deque) with essential operations.
Exercise 4: Double Linked List Implementation
i) Implement a doubly linked list and perform various operations to understand its properties
and applications.
ii) Implement a circular linked list and perform insertion, deletion, and traversal.
Exercise 5: Stack Operations
i) Implement a stack using arrays and linked lists.
ii) Write a program to evaluate a postfix expression using a stack.
iii) Implement a program to check for balanced parentheses using a stack.
Exercise 6: Queue Operations
i) Implement a queue using arrays and linked lists.
ii) Develop a program to simulate a simple printer queue system.
iii) Solve problems involving circular queues.
Exercise 7: Stack and Queue Applications
i) Use a stack to evaluate an infix expression and convert it to postfix.
ii) Create a program to determine whether a given string is a palindrome or not.
iii) Implement a stack or queue to perform comparison and check for symmetry.
Exercise 8: Binary Search Tree
i) Implementing a BST using Linked List.
ii) Traversing of BST.
Exercise 9: Hashing
i) Implement a hash table with collision resolution techniques.
ii) Write a program to implement a simple cache using hashing.
Textbooks:
1. Data Structures and algorithm analysis in C, Mark Allen Weiss, Pearson, 2nd Edition.
2. Fundamentals of data structures in C, Ellis Horowitz, Sartaj Sahni, Susan Anderson- Freed,
Department of Artificial Intelligence & Machine Learning – 2023
JNTUK B.Tech. R23 Regulations
Silicon Press, 2008
Reference Books:
1. Algorithms and Data Structures: The Basic Toolbox by Kurt Mehlhorn and Peter Sanders
2. C Data Structures and Algorithms by Alfred V. Aho, Jeffrey D. Ullman, and John E.
Hopcroft
3. Problem Solving with Algorithms and Data Structures" by Brad Miller and David Ranum
4. Introduction to Algorithms by Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest,
and Clifford Stein
5. Algorithms in C, Parts 1-5 (Bundle): Fundamentals, Data Structures, Sorting, Searching,
and
Graph Algorithms by Robert Sedgewick.