DSA & Competitive Programming – Quick Notes
Complexity Basics
Time complexity measures how an algorithm scales with input size.
Common complexities: O(1), O(log n), O(n), O(n log n), O(n^2).
Core Techniques
Prefix Sum: Precompute cumulative sums for fast range queries.
Sliding Window: Maintain a window to optimize subarray problems.
Searching & DP
Binary Search applies on monotonic functions.
Dynamic Programming solves overlapping subproblems with optimal substructure.