CSCI2201P: Data Structures (LAB) – FYIP
(M & CS)
Session: Jan – May, 2025
General Instructions for Submitting Assignments
1. Deadlines: Follow submission dates strictly; late submissions will not be accepted.
2. Submission Format:
o Submit a printed document containing:
▪ C++ source code (well-formatted, with proper indentation).
▪ Inline comments explaining each step.
▪ Screenshots of output for verification.
o Follow the proper header format at the beginning of every code.
Assignment 1: Introduction to Linked Lists
Course: CSCI2201P: Data Structures (LAB) – FYIP (M & CS)
Roll Number: 123456
Student Name: XXXXXXXXXXXXX
Date of Submission: dd-mm-yyyy
3. Coding Environment: Use Visual Studio Code, Code::Blocks, or Dev-C++ for all
assignments.
Assignment List (Total Marks: 70)
Each assignment includes practical code implementation, output verification.
Assignment 1: Linked Lists (Singly Linked List) – [10 Marks]
Objective: Learn the fundamentals of linked lists and their operations.
Tasks:
1. Implement a Singly Linked List with:
o Insert (beginning, end, specific position)
o Delete (first, last, specific node)
o Display list elements
2. Compare Linked Lists vs. Arrays in a short report.
Submission Date: 25-02-2025
Assignment 2: Linked Lists ( Double) – [10 Marks]
Objective: Learn the fundamentals of linked lists and their operations.
Tasks:
1. Implement a Doubly Linked List with:
o Insert (beginning, end, specific position)
o Delete (first, last, specific node)
o Display list elements
Submission Date: 26-02-2025
Assignment 3: Stacks and Queues – [10 Marks]
Objective: Implement stack and queue using arrays and linked lists.
Tasks:
1. Implement Stack (LIFO) using:
o Arrays
o Linked Lists
o Operations: Push, Pop, Peek, Display
2. Implement Queue (FIFO) using:
o Arrays
o Linked Lists
o Operations: Enqueue, Dequeue, Display
3. Implement a Circular Queue using an array.
Submission Date: 12-03-2025
Assignment 5: Trees (Binary & BST) – [10 Marks]
Objective: Learn tree structures and their operations.
Tasks:
1. Implement a Binary Tree with:
o Preorder, Inorder, Postorder Traversal
2. Implement a Binary Search Tree (BST) with:
o Insert, Delete, Search, Display
3. Find the height of a tree and number of nodes.
4. Implement Level Order Traversal using a queue.
Submission Date: 19-03-2025
Assignment 4: Trees – [10 Marks]
Objective: Understand Binary Search Trees (BST) and tree traversal techniques.
Tasks:
1. Implement a Binary Search Tree (BST) with:
o Creation, Insertion, Deletion, and Searching of nodes.
o Traversal Methods:
▪ Inorder
▪ Preorder
▪ Postorder
o Implementation using both Iteration & Recursion.
2. Explain the time complexity of BST operations (Best, Average, Worst cases).
Submission Date: 26-03-2025
Assignment 5: Searching Algorithms – [10 Marks]
Objective: Implement Sequential and Binary Search with time complexity analysis.
Tasks:
1. Implement Sequential Search (Linear Search):
o Best, Average, and Worst case analysis.
o Compare with Binary Search.
2. Implement Binary Search using:
o Iterative Method
o Recursive Method
o Discuss Time Complexity (O(log n))
3. Compare Linear vs. Binary Search for different input sizes and analyze efficiency.
Submission Date: 03-04-2025
Assignment 6: Sorting Algorithms – [10 Marks]
Objective: Implement and compare various sorting algorithms.
Tasks:
1. Implement the following Sorting Algorithms:
o Bubble Sort
o Quick Sort
o Heap Sort
2. Analyze the time complexity of each sorting algorithm.
3. Compare sorting algorithms based on:
o Best, Worst, and Average Case.
o Space Complexity considerations.
Submission Date: 09-04-2025