DSA Syllabus
DSA Syllabus
Course Objectives:
1. To impart the basic concepts of data structures and algorithms.
2. To understand concepts about searching and sorting techniques.
3. To Understand basic concepts about stacks, queues, lists, trees and graphs.
4. To understanding about writing algorithms and step by step approach in solving problems
with the help of fundamental data structures
Unit I
INTRODUCTION AND OVERVIEW: Introduction, Basic Terminology: Elementary Data
Organization Data Structures, Data Structure Operations, Abstract Data Types, Algorithms: Complexity,
Time-Space Trade off, Mathematical Notations and Functions, Algorithmic Notations, Control Structures,
Complexity of Algorithms, Other Asymptotic Notations for Complexity of Algorithms, Sub-algorithms,
Variables, Data Types.
Unit II
STRING PROCESSING, ARRAYS, RECORDS AND POINTERS: Introduction, Basic Terminology,
Storing Strings, Character Data Type, Strings, String Operations, Word/Text Processing, Pattern
Matching Algorithms, Introduction, Linear Arrays, Arrays as ADT, Representation of Linear Arrays in
Memory, Traversing Linear Arrays, Inserting and Deleting, Sorting: Bubble Sort, searching: Linear
Search, Binary Search, Multidimensional Arrays, Representation of Polynomials Using Arrays. Pointers,
Pointer Arrays, Dynamic Memory Management, Records: Record Structures, Representation of Records
in Memory, Parallel Arrays, Matrices, Sparse Matrices.
Unit III
STACKS, QUEUES, RECURSION: Stacks, Array Representation of Stacks, Linked Representation of
Stacks, stack as ADT, Arithmetic Expressions; Polish Notation, Application of Stacks, Recursion, Towers
of Hanoi, Implementation of Recursive Procedures by Stacks, Queues, Linked Representation of Queues,
Queue as ADT, Circular Queues, Priority Queues, Applications of Queues
Unit IV
LINKED LISTS: Introduction, Linked Lists, Representation of Linked Lists in Memory, traversing a
Linked List, Searching a Linked List, Memory Allocation; Garbage Collection, Insertion into a Linked
List, from a Linked List
Unit V
TREES: Introduction, Binary Trees, Representing Binary Trees in Memory, Traversing Binary Trees,
Traversal Algorithms Using Stacks, Header Nodes, Threads, Threaded Binary Trees, Binary Search
Trees, Searching and Inserting in Binary Search Trees, deleting in a Binary Search Tree, Balanced Binary
Trees, AVI. Search Trees, Insertion in an AVL Search Tree, Deletion in an AVL Search Tree, m way
Search Trees, Searching, Insertion and Deletion in an m-way Search Tree, B-Trees, Searching. Insertion
and Deletion in a B-tree.
Course Outcomes-
After Successful completion of this subject student should be able to:
1. Ability to analyse algorithms and algorithm correctness.
2. Ability to find and analyse string processing and Ability to analyse array and dynamic memory
allocation with pointers.
3. Ability to describe stack, queue and recursion.
4. Ability to have knowledge of Linked list operations.
5. Ability to find knowledge of Trees and searching.
Text Books:
Reference Books:
1. Introduction to Data Structure-Thomas H. Cormen, Charles E. Leiserson, Ronald L.
Rivest and Clifford Stein.
2. Data structures and Algorithms Made Easy, by Narsimha Karumanchi
Semester - III
Course Objectives:
The purpose of this course is to enhance the practical knowledge based on prescribed theory course. The
students will be able to enhance their analysing and problem-solving skills after implementation of all the
given experiments.