DSA Syllabus
DSA Syllabus
DSA Syllabus
Preamble: This course helps the student to have an idea of Data Structures and Algorithms. Students
are introduced to the basic design consideration of algorithms. Discussion on various data structures,
algorithms and their applications are also included as part of the course to get an overall idea on this
topic.
Prerequisite: Nil
Course Outcomes: After the completion of the course the student will be able to
PO PO PO PO PO PO PO PO PO PO PO PO
1 2 3 4 5 6 7 8 9 10 11 12
CO 3 2 3
1
CO 3 2 3
2
CO 3 2 3
3
CO 3 3 3 3
4
CO 3 3 3 3
5
CO 3 3 3 3
6
Assessment Pattern
Mark distribution
End Semester Examination Pattern: There will be two parts; Part A and Part B. Part A contain 10
questions with 2 questions from each module, having 3 marks for each question. Students should
answer all questions. Part B contains 2 questions from each module of which student should answer
any one. Each question can have maximum 2 sub-divisions and carry 14 marks.
Syllabus
Module I
Introduction to Data Structures: Basic Terminology, Elementary Data Structure Organization,
Classification of Data Structures: Primitive and Non-primitive, Linear and Non-linear, Operations
on Data structures, Asymptotic notations, Notion of recursive algorithms, Recurrence relations
Module II
Linear Data Structures: Introduction, variations, operations and applications of array, queue, stack
and linked list
Array: Representation of arrays, Applications of arrays, sparse matrix and its representation.
Queue: Representation of Queue, Operations on Queue, Circular Queue, Priority Queue, Array
representation of Priority Queue, Double Ended Queue, Applications of Queue
Linked lists: - singly linked list, doubly linked list, Circular linked list, operations on linked list,
linked list with header nodes
Module III
Non-Linear Data Structures: Concepts and types of trees, tree traversal algorithms, search trees,
Priority queue implementation and applications
Graph-Matrix Representation of Graphs, Elementary Graph operations, (Breadth First Search, Depth
First Search, Spanning Trees, Shortest path, Minimal spanning tree).
Module IV
Indexing structure: Concepts and implementations of B-Tree, B+ tree, Hashing, Dictionary
Searching and Sorting Algorithms: Linear search, Binary search, Hash tables, internal and external
sorting algorithms, sorting without comparison.
Module V
Algorithm Design: Greedy algorithm, Divide and conquer, Dynamic programming, Backtracking,
Branch and bound, Randomized algorithms
Text Books
1. Samanta D., Classic Data Structures, Prentice Hall India, 2/e, 2009.
2. Richard F. Gilberg, Behrouz A. Forouzan, Data Structures: A Pseudocode Approach with
C, 2/e, Cengage Learning, 2005.
3. Aho A. V., J. E. Hopcroft and J. D. Ullman, Data Structures and Algorithms, Pearson
Publication,1983.
Applied Electronics and Instrumentation
Reference Books
No Topic No. of
Lectures
1 MODULE 1
1.1 Introduction to Data Structures: Basic Terminology, Elementary Data
2
Structure Organization
1.2 Classification of Data Structures: Primitive and Non-primitive, Linear and
2
Non-linear
1.3 Operations on Data structures, Asymptotic notations, Notion of recursive
2
algorithms, Recurrence relations
2 MODULE 2
3.1 Concepts and types of trees, tree traversal algorithms, search trees 2
3.2 Priority queue implementation and applications
2
3.3 Graph-Matrix Representation Of Graphs, Elementary Graph operations, (
Breadth First Search, Depth First Search, Spanning Trees, Shortest path,
3
Minimal spanning tree ).
4 MODULE 4
4.1 Indexing structure: Concepts and implementations of B-Tree, B+ tree,
Hashing, Dictionary 2
1 What do you mean by asymptotic notations? Explain briefly about the asymptotic (3)
notations that are commonly used to calculate the running time complexity of an
algorithm?
2 Differentiate between primitive and non-primitive data structures with the help of (3)
examples
3 Write an algorithm/pseudocode to delete a given element k from an array A of n (3)
elements? Assume that the element k is always present in A.
4 How will you represent a polynomial 3x2 +2xy2 +5y3 +7yz using a singly linked (3)
list?
5 Draw the binary tree whose sequential representation is given below. (3)
1 2 3 4 5 6 7 8 9 10 11 12 13
14 15
A B C D —E F —G ——H ——I
PART B
Answer any one full question from each module, each carries14 marks.
MODULE I
11 a) Explain in detail the substitution method for solving recurrence relations (7)
b) Explain the operations on Data structures with examples. (7)
12 a) What is a recursive algorithm? Explain different types of recursive algorithms with (6)
examples.
b) Explain linear and nonlinear data structures. (8)
MODULE II
13 a) Assume that a stack is represented using a linked list. Write algorithms for the (7)
following operations: - (i) Push (ii) Pop
b) Explain the structure of Doubly Linked List (DLL). Differentiate the difference (7)
between DLL and Doubly Circular Linked List (DCLL). Explain the procedures to
insert a node in DLL at the beginning and at the last.
Applied Electronics and Instrumentation
14 a) Write algorithms to perform the following operations on a doubly linked list. (i) (7)
Insert a node with data ‘y’ after a node whose data is ‘x’. (ii) Delete a node whose
data is ‘s’ . (iii) Insert a node with data ‘a’ as the 1st node of the list.
b) Explain different types of queues and their applications. (7)
MODULE III
15 a) Which are the elementary graph operations? Explain in detail. (7)
b) What is a priority queue? Implement using a linked list. (7)
16 a) Explain the various ways in which a graph can be represented bringing out the (7)
advantages and disadvantages of each representation.
b) Explain various tree traversal algorithms with examples. (7)
MODULE IV
17 a) Write an algorithm to perform selection sort in an array. Using the above selection (6)
sort algorithm, sort the input file [25, 7, 46, 11, 85].
b) With the help of an algorithm/pseudocode and suitable example, explain how you (8)
would perform binary search on an array of n elements. Find the time complexity of
binary search algorithm.
18 a) Explain in brief how the shortest path is calculated using Dijkstra’s algorithm. (7)
b) Write an algorithm to perform binary search on a given set of ‘n’ numbers. Using (7)
the algorithm search for the element 23 in the set [12, 23, 34, 44, 48, 53, 87, 99]
MODULE V
19 a) Explain divide-and-conquer approach in detail. (7)
b) Explain greedy algorithm with example. Also explain its advantages and (7)
disadvantages.
20 a) Explain dynamic programming in detail with example. (7)
b) What is meant by NP-complete problems? Explain in detail with examples. What are (7)
the techniques that can be applied to solve computational problems in general?
****