KEMBAR78
Sem-III Data Structure and Algorithms Lab | PDF | Algorithms And Data Structures | Computer Programming
0% found this document useful (0 votes)
44 views5 pages

Sem-III Data Structure and Algorithms Lab

Uploaded by

rugveddaphal11
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
44 views5 pages

Sem-III Data Structure and Algorithms Lab

Uploaded by

rugveddaphal11
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 5

Program B.Tech.

(Computer Science & Engineering) Semester III

Course Data Structure and Algorithms Lab Code ---

Teaching Scheme (Hrs/Week) Examination Scheme & Marks

CA TEA
Credits Lectures Tutorials Practical Total
Theory Practical Theory Practical

1 -- -- 2 -- -- -- 25 25
Prerequisite:
Problem Solving through Programming

Other Courses in this Series:


Data Structure and Algorithms
Course Objectives:
1. To develop a strong foundation in algorithm analysis
2. To understand the role of abstract data types (ADTs) in software design and modular
programming.
3. To learn core data structures such as arrays, linked lists, stacks, queues, trees, and graphs.
4. To implement and analyze searching, sorting, and hashing techniques for efficient data handling
5. To identify and use the most suitable data structures and algorithms for practical implementation
Course Outcomes:
On completion of the course, students will be able to:
CO1: Analyze various data structures and algorithmic strategies to evaluate their efficiency in terms of
time and space complexity.
CO2: Design optimized searching, sorting, and traversal techniques for structured data organization
and retrieval.
CO3: Apply appropriate linear and non-linear data structures such as stacks, queues, linked lists,
trees, and graphs to solve real-world problems.
CO4: Create efficient solutions for dynamic data management, including memory allocation, indexing,
and data representations.
CO5: Develop algorithms for hierarchical data management, dynamic memory handling, indexing.
CO6: Implement solutions to real world problems using advanced data structures like Graphs and
Optimal binary trees.

Suggested List of Laboratory Experiments/Assignments

Assignments from all Groups (A, B, C, D, E, and F) are compulsory

Programming Tools Recommended: C/C++/ Python


Sr. No. Group-A (Unit-1 Introduction to Data Structures and Algorithm Analysis)

Solve Any One:

a. Write a program for Polynomial Calculator to perform ADTs, addition, subtraction, and
evaluation of polynomials entered by user.
1)
b. Write a program to compute the reverse of n number. Calculate time and time module. Also
Find out time and space complexity manually.
c. Write a program to find the address of an element in 2D array using Row-Major and
Column-Major.

Sr. No. Group-B (Unit-2 Searching and Sorting)

Solve Any Two:

a. Write a program to store floating numbers in array in random order. Use Linear Search and

2) Sentinel Search for searching an element and compare its complexity.


b. Write a program to perform selection sort. Show its passes and compute its complexity.
c. Write a Program to sort an array using Max Heap. Analyse the time complexity of Max
Heap sort with Insertion sort.
d. Write a Program to insert an element into hash table using division modulo method.
Sr. No. Group-C (Unit-3 Stack and Queue)

Solve Any Two:


a. Write a program to compute transpose of sparse matrix using fast transpose.
b. Write a program to convert the expression infix to postfix. Perform its evaluation using
stack. Use suitable data.
3)
c. Write a program to perform insert and delete operations using circular queue. Use Job
queue for adding job and deleting job from the queue.
d. Write a program to implement Priority Queue. Consider an array to insert elements based
on highest priority and delete elements with the lowest priority.
Sr. No. Group-D (Unit-4 Linked List )
Solve Any Two:
a. Write a program to differentiate static memory and dynamic memory allocation. Use
appropriate data structure.
b. Write a program to search an element in Singly linked list. Display its location if element
found.
4)
c. Write a program to perform functions to delete a node from:
i. The beginning
ii. The given position
iii. The end of the doubly linked list
d. Write a program to define and display a generalized linked list. Use appropriate data.
Sr. No. Group-E (Unit-5 Tree)

5) Solve Any One:


a. Write a program to convert a binary tree into threaded binary tree. Compare time and
space complexity.
b. Write a program to traverse a binary tree threaded using in-order threads, without using
stack or recursion.
c. Write a program to create a Binary Search Tree (BST) by inserting values one by one, and
then perform following operations on it.
i. Insert a new node in BST
ii. Delete a node
iii. Search for a given value
iv. Find longest path
Sr. No. Group-F (Unit-6 Graph and Symbol Table)

Solve Any One:


a. Perform DFS and BFS traversals using adjacency matrix and adjacency list
representations for the area around the college as a graph using important landmarks as
nodes.
6)
b. implement Dijkstra’s algorithm to find the shortest path from a given source node to all
other nodes in a weighted graph (no negative weights).
c. Write a program to implement Topological Sort using DFS or Kahn’s algorithm for a
Directed Acyclic Graph (DAG).

Sr. No. Mini Projects: Design and Develop any one Mini-Project from Sr. No. 1 to 2
1) Hospital Queue Management system using Linked list.
2) College Campus Navigation system using suitable Data structure

Text Books:
1. Ellis Horowitz, Sartaj Sahni, and Susan Anderson-Freed, Fundamentals of Data Structures in C
, 2nd Edition, Universities Press, 2008. ISBN: 978-8173716058
2. Aaron M. Tenenbaum, Yedidyah Langsam, and Moshe J. Augenstein, Data Structures Using C
and C++, 2nd Edition, Pearson Education, 2009. ISBN: 978-0131997462
3. Mark Allen Weiss, Data Structures and Algorithm Analysis in C, 2nd Edition, Pearson Education,
2006. ISBN: 978-0321441461

Reference Books:
1. Seymour Lipschutz, Data Structures, Schaum's Outlines Series, McGraw Hill, 2014. ISBN: 978-
0070601681
2. Debasis Samanta, Classic Data Structures, 2nd Edition, PHI Learning, 2009. ISBN: 978-
8120337315
3. Alfred V. Aho, John E. Hopcroft, Jeffrey D. Ullman, Data Structures and Algorithms, 1st Edition,
Pearson Education, 1983. ISBN: 978-0201000238
4. Y. Kanetkar, Data Structures Through C++, 4th Edition, BPB Publications,2023.ISBN :
978-9355511898
E-Books/Online Learning Resources:
1. Robert Lafore, Data Structures and Algorithms in Java, 2nd Edition, Sams Publishing, 2002.
ISBN: 978-0672324536.
https://www.amazon.in/Data-Structures-Algorithms-Robert-Lafore/dp/0672324539
2. George Heineman, Gary Pollice, Stanley Selkow, Algorithms in a Nutshell, 2nd Edition,
O’Reilly Media, 2016. ISBN: 978-1491948927
https://www.oreilly.com/library/view/algorithms-in-a/9781491912973/
Online Courses:
1. Problem Solving through Programming in C
a. Instructor: Prof. Anupam Basu (IIT Kharagpur)
b.Covers C programming basics and problem-solving techniques.
c. Link: https://onlinecourses.nptel.ac.in/noc22_cs101/preview
2. Crash Course on Data Structure and Algorithms in C++
a. Instructor: Great Learning Academy Team
b. Covers fundamental data structures (arrays, linked lists, trees) and algorithmic problem-solving
using C++.
c. Link: https://www.mygreatlearning.com/academy/learn-for-free/courses/crash-course-on-data-
structure-and-algorithms-in-c
3.Advanced Data Structures and Algorithms in C++
a. Instructor: Holczer Balazs (Udemy)
b. Covers advanced concepts of trees, graph algorithms, and dynamic programming in C++.
c. Link: https://www.udemy.com/course/advanced-data-structures-and-algorithms-in-c/
4.Free Data Structures and Algorithms in C++
a. Instructor: Scaler Topics Team (Scaler)
b. Covers comprehensive C++ programming with a focus on data structures like stacks, queues,
trees, and sorting algorithms.
c. Link: https://www.scaler.com/topics/course/cpp-data-structures/

Software Tools, Simulation Platforms & Hardware Kits:


1. GCC (GNU Compiler Collection) – Standard C compiler for Linux
2. Code::Block Open-source C/C++ IDE with built-in compiler support. https://www.codeblocks.org/
3. OnlineGDB (https://www.onlinegdb.com/ ) – Online compiler and debugger.
The CO-PO Mapping Matrix

PO PO PO1
CO/PO PO2 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11
1 3 2

CO1

CO2

CO3

CO4

CO5

CO6

You might also like