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)