Skip to main content

23CS52 - DATA STRUCTURES (Lab)

Data Structures Lab is designed to provide hands-on experience in implementing and analyzing various data structures using the C programming language.

Through a series of practical exercises, students learn to implement both linear and non-linear data structures such as arrays, linked lists, stacks, queues, trees, and hashing techniques.


PREREQUISITE: ‘C’ Programming

COURSE OUTCOMES (COs):
At the end of the course, student will be able to:

  • CO1: Apply Linear Data Structures for organizing the data efficiently.
  • CO2: Apply Non-Linear Data Structures to organize data efficiently.
  • CO3: Develop and implement hashing techniques for solving problems.
  • CO4: Improve individual / teamwork skills, communication and report writing skills with ethical values.

List of Experiments

(Click on the Exercise Number to get Program Code)

Exercise 1: Array Manipulation

  1. Write a program to reverse an array.
  2. C Programs to implement the Searching Techniques – Linear & Binary Search
  3. C Programs to implement Sorting Techniques – Bubble, Selection and Insertion Sort

Exercise 2: Linked List Implementation

  1. Implement a singly linked list and perform insertion and deletion operations.
  2. Develop a program to reverse a linked list iteratively and recursively.
  3. Solve problems involving linked list traversal and manipulation.

Exercise 3: Linked List Applications

  1. Create a program to detect and remove duplicates from a linked list.
  2. Implement a linked list to represent polynomials and perform addition.
  3. Implement a double-ended queue (deque) with essential operations.

Exercise 4: Double Linked List Implementation

  1. Implement a doubly linked list and perform various operations to understand its properties and applications.
  2. Implement a circular linked list and perform insertion, deletion, and traversal.

Exercise 5: Stack Operations

  1. Implement a stack using arrays and linked lists.
  2. Write a program to evaluate a postfix expression using a stack.
  3. Implement a program to check for balanced parentheses using a stack.

Exercise 6: Queue Operations

  1. Implement a queue using arrays and linked lists.
  2. Develop a program to simulate a simple printer queue system.
  3. Solve problems involving circular queues.

Exercise 7: Stack and Queue Applications

  1. Use a stack to evaluate an infix expression and convert it to postfix.
  2. Create a program to determine whether a given string is a palindrome or not.
  3. Implement a stack or queue to perform comparison and check for symmetry.

Exercise 8: Binary Search Tree

  1. Implementing a BST using Linked List.
  2. Traversing of BST.

Exercise 9: Hashing

  1. Implement a hash table with collision resolution techniques.
  2. Write a program to implement a simple cache using hashing.

Comments

Popular posts from this blog

Operating Systems - 20CS11 Lecture Notes

  COURSE OUTCOMES (COs): At the end of the course, students will be able to CO1 Demonstrate the underlying principles and techniques of the operating system     (Understand-l2) CO2 Interpret scheduling and communication methods of processes handled by operating systems (Understand-L2) CO3 Distinguish the process synchronization methods and deadlock handling approaches employed in operating systems (Understand-L2) CO4 Classify memory management techniques and virtual memory mechanisms     (Understand-L2) CO5 Interpret the strategies of disk scheduling algorithms and file system architecture(Understand-L2) Unit-Wise Lecture Notes: