DSA Syllabus
DSA Syllabus
Prerequisites:
Course Objectives
Course Outline
Introduction to Arrays
o Operations: Traversal, Insertion, Deletion
o Applications: Prefix Sum, Sliding Window, Two-pointer Technique
Strings
o String Manipulation Techniques
o Pattern Matching (Naive Approach, KMP Algorithm, Rabin-Karp)
o Applications in Text Processing
Searching Techniques:
o Linear Search
o Binary Search and its Variants (First/Last Occurrence, Rotated
Arrays)
Sorting Algorithms:
o Bubble Sort, Selection Sort, Insertion Sort
o Merge Sort, Quick Sort, Heap Sort
o Counting Sort, Radix Sort, Bucket Sort
Analysis and Comparison of Sorting Algorithms
Stack:
o Stack Operations (Push, Pop, Peek)
o Applications: Parenthesis Matching, Infix to Postfix Conversion,
Expression Evaluation
Queue:
o Queue Operations (Enqueue, Dequeue)
o Circular Queue, Double-Ended Queue (Deque)
Priority Queues and Heaps
o Min-Heap, Max-Heap
o Heapify and Applications
Module 6: Trees
Tree Basics:
o Binary Trees: Traversals (Preorder, Inorder, Postorder, Level Order)
o Binary Search Tree (BST): Operations and Applications
Advanced Trees:
o AVL Trees, Red-Black Trees
o B-Trees, B+ Trees
o Segment Trees and Fenwick Trees
Applications: Expression Trees, Huffman Encoding
Module 7: Graphs
Graph Basics:
o Representations (Adjacency Matrix, Adjacency List)
o Types of Graphs (Directed, Undirected, Weighted, Unweighted)
Graph Traversals:
o Depth First Search (DFS), Breadth First Search (BFS)
Algorithms:
o Dijkstra’s Algorithm, Bellman-Ford Algorithm
o Floyd-Warshall Algorithm, Prim’s and Kruskal’s MST Algorithms
Applications:
o Topological Sorting, Cycle Detection, Shortest Path Problems
Module 8: Hashing
Basics of Recursion:
o Recursive Functions and Recurrence Relations
o Tail Recursion and Non-Tail Recursion
Backtracking Techniques:
o N-Queens Problem
o Sudoku Solver
o Subset Generation and Permutations
Basics of DP
o Overlapping Subproblems and Optimal Substructure
o Memoization and Tabulation
Classic DP Problems:
o Knapsack Problem (0/1 and Fractional)
o Longest Common Subsequence (LCS), Longest Increasing
Subsequence (LIS)
o Matrix Chain Multiplication
o Coin Change Problem, Rod Cutting Problem