🟢 Beginner
Programming Language
Choose one (C++, Java, Python)
Basics
Input/Output, Loops, Conditions, Functions
Arrays
Declaration, Traversing, Basic Problems
Sorting Techniques
Bubble, Selection, Insertion, Merge, Quick
Binary Search
Recursive, Iterative, Edge Cases
Strings
Manipulation, Palindromes, Anagrams
🟡 Intermediate
Linked List
Singly, Doubly, Reversal
Recursion
Base & Recursive Case, Tree Recursion
Bit Manipulation
Bitwise Ops, Set/Clear/Toggle Bits
Stack & Queue
Infix, Prefix, Postfix, Sliding Window
Sliding Window / Two Pointer
Max/Min Subarray, Patterns
Heap
Min/Max Heap, Priority Queue
Greedy
Activity Selection, Fractional Knapsack
🔴 Advanced
Binary Trees
Traversals, Height, Diameter
Binary Search Trees
Insert, Delete, Search
Graphs
BFS, DFS, Cycle Detection, Dijkstra
Dynamic Programming
Memoization, Tabulation, LIS, Knapsack
Tries
Insert, Search, Prefix Matching
Hard String Problems
Z-Algorithm, KMP, Rabin-Karp
🎉 Congratulations! You're now DSA-ready!