Overview
Segment tree range queries (sum, min, max) O(log n) mein handle karta hai — brute force O(n) tha.
Analogy
Jaise company hierarchy — CEO pe total report, VP pe division report — query efficiently answer karo.
Step-by-step
- Array se tree build karo — bottom-up
- Internal node = children ka aggregate (sum/min/max)
- Query: relevant ranges combine karo
- Update: leaf update karo, path propagate karo
Visual
arr = [1,3,5,7,9,11]
Tree root = sum(all) = 36
[1+3+5=9, 7+9+11=27]
[1+3=4, 5, 7+9=16, 11]
Common mistakes
- 1-indexed vs 0-indexed tree — consistent raho
- Lazy propagation — range updates ke liye zaroori
- Tree size 4*n rakho safe side ke liye
Practice questions
- Sum segment tree banao aur range queries karo
- Range minimum query implement karo