Kadi Sarva Vishwavidyalaya: Faculty of Engineering & Technology
Kadi Sarva Vishwavidyalaya: Faculty of Engineering & Technology
Course Objective:
The learning objectives of the course are:
to introduce the fundamentals of data structures, abstract concepts and how these concepts
are useful in problem solving.
to learn to develop algorithms and step by step approach to solve various problems.
to understand and implement various data structures viz. stack, queues, linked lists, trees and
graphs.
to learn applications of each of the data structures.
to distinguish different data structures and identify the suitable data structure required for
given real world application.
to understand various searching & sorting techniques to be applied on data structures.
Learning Outcome:
On successful completion of the course, the student will:
be able to check the correctness of algorithms using inductive proofs and loop invariants.
be able to learn fundamentals and operations of various linear and non-linear data structures,
their applicability and comparisons.
become familiar with a variety of sorting algorithms and their performance characteristics
and be able to choose the best one under variety of requirements.
be able to understand and identify the performance characteristics of fundamental algorithms and
data structures and be able to trace their operations for problems such as sorting, searching,
selection, operations on numbers, polynomials and matrices, and graphs.
be able to analyze and select the appropriate data structure for managing and manipulating data
for numerous real world applications
E-Resources:
http://www.nptelvideos.in/2012/11/data-structures-and-algorithms.html
https://www.cs.princeton.edu/courses/archive/spr11/cos217/lectures/08DsAlg.pdf
https://lecturenotes.in/materials/11971-data-structure-using-
c?utm_source=subjectpage&utm_medium=web&utm_campaign=materialpage
https://www.slideshare.net/vigneras/data-structures-and-algorithms
Reference Books:
1. An Introduction to Data Structures with Applications by Jean-Paul Tremblay & Paul G. Sorenson
Publisher-Tata McGraw Hill.
2. Data Structures using C & C++ by Yedidyah Langsam Moshe J Augenstein Aaron M. Tenenbaum,
PHI
3. Classic Data Structures by Debasis Samanta, PHI Learning
4. Fundamentals of Computer Algorithms by Ellis Horowitz, Sartaj Sahni, Sanguthevar Rajasekaran
Computer Science Press
5. Data Structures: A Pseudo-code approach with C++ by Richard Gilberg, Behrouz A. Forouzan,
Cengage Learning
List of experiments:
Sr. No. Name of Experiment
1 Write a menu driven program to perform the following operations on the STACK using an
array. 1. Push 2. Pop 3. Peep 4. Change 5. Display the contents 6. Exit
2 Write a program to convert an infix expression into reverse polish (postfix) notation with
parenthesis.
3 Write a program to solve the problem of Tower of Hanoi (Application of stack)
4 Write a menu driven program to perform the following operations on the QUEUE using an
array. 1. Insert 2. Delete 3. Search 4. Change 5. Display the contents 6. Exit
5 Write a menu driven program to perform the following operations on the CIRCULARQUEUE
using an array. 1. Insert 2. Delete 3. Search 4. Change 5. Display the contents 6. Exit
6 Write a menu driven program to perform the following operations on a Singly Linked list.
1. Insert 6. Search
2. Insend 7. Sort
3. Insat 8. Count
4. Delete 9. Display
5. Reverse 10. Exit
7 Write a menu driven program to perform the following operations on a Doubly Linked
list.1. Insert 2. Insend 3. Insat 4. Delete 5. Display 6. Exit
8 Write a program to implement Searching Algorithms
1. Sequential search
2. Binary search
9 Write a program to implement following sorting algorithms
Selection sort
Bubble sort
Merge sort
Quick sort
10 Write a program to implement breadth first search (BFS) graph traversal algorithm.
11 Write a program to implement depth first search (DFS) graph traversal algorithm.
As part of experimentation, a small project / model / seminar / poster / other should be
prepared / presented by student(s) based on the practical knowledge gained by this
course at the end of the curriculum. The concerned laboratory faculty (in consultation
with course coordinator) is empowered to design/decide the type/execution of this
experiment. The student(s) are expected to present the same before their batch-mates.