How do you convert a sorted array into a height-balanced BST?
PICTURE THIS: ARRAY IN MEMORY
Index starts at 0. Scan once for max — O(n).
Simple meaning
Always pick the middle element as root and recurse on left and right halves so subtree sizes differ by at most one.
WHY — BST instead of guessing?
Why interviewers care about BST:
question about BST.
trade-offs, and what you would actually do on a DSA project - not buzzwords.
Name the idea, why it exists, then one short example.
End with when you use it and one common pitfall.
STEPS — What happens step by step?
Before you speak the answer, walk the interviewer through these steps:
- 1Always pick the middle
element as root and recurse on left and right halves so subtree sizes differ by at most one.
- 2Time is O(n) and
recursion space is O(log n) because the tree is balanced.
- 3Building by sequential insert
would be O(n log n) and might unbalance if you always insert in order.
- 4Give an example
One tiny concrete case you can say aloud.
- 5Common mistake
What juniors usually get wrong.
- 6Close
When you pick this over the alternative.
EXAMPLE — See it in action
Here's a short line you can speak, broken into clear beats:
Note: Adapt this scaffold to your own project — keep it under 60–90 seconds.
Key takeaway
Always pick the middle element as root and recurse on left and right halves so subtree sizes differ by at most one. Time is O(n) and recursion space is O(log n) because the tree is balanced.