01
Big O Notation
Time and space complexity analysis for writing efficient, scalable code.
02
Arrays & Strings
Core data manipulation, sliding window, two-pointer patterns and beyond.
03
Hash Tables
O(1) lookups, collision handling, and real-world frequency/count problems.
04
Linked Lists
Singly, doubly, and circular lists — reversal, cycle detection, merging.
05
Trees & Graphs
BSTs, AVL trees, BFS/DFS traversal, shortest paths and topological sort.
06
Stacks & Queues
LIFO/FIFO patterns, monotonic stacks, and priority queues with heaps.
07
Recursion & DP
Memoization, tabulation, and classic problems like knapsack and LCS.
08
Sorting & Search
QuickSort, MergeSort, binary search — and knowing when to use each.