DSA (Data Structures & Algorithms)

Here is a complete DSA (Data Structures & Algorithms) course syllabus from beginner to advanced, structured in progressive modules:


๐Ÿง‘โ€๐Ÿ’ป Beginner Level: Foundations

โœ… Programming Basics (Language: JavaScript / Python / C++)

  • Input/Output
  • Variables & Data Types
  • Operators & Expressions
  • Loops (for, while)
  • Conditionals (if, else, switch)
  • Functions & Recursion (Basics)

โœ… Time & Space Complexity

  • Big O, Omega, Theta
  • Complexity of common algorithms
  • How to analyze loops and recursive calls

๐Ÿ“ฆ Data Structures (Core)

โœ… Arrays

  • Traversal, Insertion, Deletion
  • Prefix Sum, Sliding Window, Two Pointers
  • Kadaneโ€™s Algorithm, Merge Intervals

โœ… Strings

  • Palindromes, Anagrams
  • String Reversal, Compression
  • Pattern Matching (KMP, Rabin-Karp)

โœ… Linked Lists

  • Singly & Doubly Linked Lists
  • Reversal, Cycle Detection (Floydโ€™s)
  • Merge Two Lists, Intersection Point

โœ… Stacks & Queues

  • Stack, Queue, Deque
  • Infix/Prefix/Postfix Evaluation
  • Min Stack, Queue using Stack

๐ŸŒณ Intermediate: Trees, Heaps, and Hashing

โœ… Trees

  • Binary Tree, Binary Search Tree (BST)
  • Tree Traversals (Inorder, Preorder, Postorder, Level Order)
  • Height, Diameter, Balanced Tree
  • LCA, Serialize & Deserialize Tree

โœ… Heaps / Priority Queue

  • Min Heap / Max Heap
  • Heap Sort
  • Kth Largest/Smallest
  • Median from Stream

โœ… Hashing

  • Hash Maps, Hash Sets
  • Frequency Counter
  • Two Sum, Group Anagrams
  • Subarray Sum = K

๐ŸŒ Advanced DSA Topics

โœ… Tries

  • Insert/Search Word
  • Prefix Matching
  • Word Dictionary

โœ… Graphs

  • Adjacency List / Matrix
  • DFS, BFS
  • Cycle Detection (Directed/Undirected)
  • Topological Sort
  • Dijkstraโ€™s, Bellman-Ford
  • Union-Find (Disjoint Sets)

โœ… Dynamic Programming

  • Memoization vs Tabulation
  • 0/1 Knapsack, Unbounded Knapsack
  • LCS, LIS, Edit Distance
  • Subset Sum, Partition Equal Subset Sum
  • Matrix Chain Multiplication

โœ… Greedy Algorithms

  • Activity Selection
  • Huffman Encoding
  • Fractional Knapsack
  • Job Scheduling

โœ… Backtracking

  • N-Queens
  • Sudoku Solver
  • Permutations / Combinations
  • Word Search

๐Ÿงฎ Bit Manipulation & Math

โœ… Bitwise Techniques

  • Set/Clear/Toggle Bits
  • Count Set Bits
  • Power of Two
  • XOR Problems

โœ… Math for DSA

  • Prime Numbers (Sieve of Eratosthenes)
  • GCD, LCM
  • Modular Arithmetic
  • Fast Exponentiation
  • Fibonacci Optimizations (Matrix, Binet)

๐Ÿ” Other Topics

โœ… Sliding Window & Two Pointers

  • Longest Substring Without Repeat
  • Maximum Subarray
  • Container with Most Water

โœ… Intervals

  • Merge Intervals
  • Meeting Rooms
  • Insert Interval

โœ… Recursion & Divide and Conquer

  • Binary Search
  • Merge Sort, Quick Sort
  • Master Theorem

๐Ÿงช Practice & Applications

  • Solve 250โ€“300 LeetCode/Codeforces/GeeksForGeeks problems
  • Competitive Programming (optional)
  • System Design Foundations (optional for advanced)