IT304 - Data Structures and Algorithms
IT304 - Data Structures and Algorithms
Learning Objectives
The objective of the course is to introduce the fundamentals of Data Structures,
Abstract concepts and how these concepts are useful in problem solving. After
completion of this course student will be able to -
• Analyze step by step and develop algorithms to solve real world problems.
• Implementing various data structures viz. Stacks, Queues, Linked Lists,
Trees and Graphs.
• Understanding various searching & sorting techniques
TOTAL 45 100
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 compare functions using asymptotic analysis and describe the relative
merits of worst-, average-, and best-case analysis.
Be able to solve recurrences using the master, the iteration, and the substitution
method.
Become familiar with a variety of sorting algorithms and their performance
characteristics (eg, running time, stability, space usage) and be able to choose the best
one under a 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.
Explain the major graph algorithms and their analyses. Employ graphs to model
engineering problems, when appropriate. Synthesize new graph algorithms and
algorithms that employ graph computations as key components, and analyze them.
Be able to use the design techniques introduced i.e. dynamic programming, greedy
algorithm etc. to design algorithms for more complex problems and analyze their
performance.
Become familiar with the major graph algorithms and their analyses. Employ graphs
to model engineering problems, when appropriate.
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 Ten Baum Publisher – Prenctice-Hall
International.
3. Fundamentals of Computer Algorithms by Horowitz, Sahni,Galgotia Pub. 2001
ed.
4. Fundamentals of Data Structures in C++-By Sartaj Sahani.
5. Data Structures: A Pseudo-code approach with C -By Gilberg & Forouzan
Publisher-Thomson Learning.
List of Experiments
Sr. No Name of Experiment
1 Introduction to structures & pointers in C.
2 Stack operations
Write a program to perform PUSH, POP, PEEP & CHANGE operations on Stack.
3 Queue Operations
Write a program to implement insertion & deletion in a queue.
Selection sort
To sort the given number using bubble sort
Merge sort
Quick sort
Sequential and binary search