Syllabus dsa
Syllabus dsa
Introduction: Basic Terminology, Types and application of Data Structures, Algorithm, Efficiency of an
algorithm, Time-space trade-off and complexity, asymptotic notation.
Array: Single and Multidimensional Arrays, Representation of Arrays: Row Major Order, and Column
Major Order, Derivation of Index Formulae for 1-D,2-D, and multi-D Array, Application of arrays, Sparse
Matrices, and their representations, arithmetic operations on matrices.
Recursion: Tail recursion, Head Recursion, Nested recursion, Removal of recursion. Problem solving
using iteration and recursion with examples such as Fibonacci numbers, and Hanoi towers. Trade-offs
between iteration and recursion.
Searching & Sorting: Linear search, Binary Search, Indexed Sequential search, Hashing, Insertion Sort,
Bubble sort, Selection sort, Quick Sort, Merge Sort.
Linked lists: Introduction, Singly Linked Lists, Doubly Linked List, Circularly Linked List, Operations on
a Linked List. Insertion, Deletion, Traversal, Reversing, Application of Linked List: Polynomial
Representation, Addition and Multiplication, Generalized Linked List.
Stack: Introduction, Abstract Data Type, Primitive Stack operations: Push & Pop, Array and Linked List
Implementation of Stack, Application of Stack: Prefix and Postfix Expressions, Evaluation of postfix
expression.
Queue: Introduction, Operations on Queue: Create, Add, Delete, Full and Empty, Circular queues, Array
and linked implementation of queues, Double Ended queue, and Priority Queue.
Trees: Binary Tree and Its array and linked list representation, Strict Binary Tree, Complete Binary Tree,
Tree Traversal algorithms: In-order, Pre-order, and Post-order, level order, Constructing Binary Tree from
given Tree Traversal, BST Operation: Searching, Insertion, Deletion, Threaded Binary Trees, Traversals
in Threaded Binary Trees, Heaps, Heap Sort.