LearnThatStack Ace your next interview
Trees, BSTs & Heaps · question
Question 6 of 76

How do you search for a value in a BST, and what does it cost?

beginner
← All Trees, BSTs & Heaps questions
Re-explain

Searching starts at the root and compares your target to the current node. If they match, you are done. If the target is smaller, go left, and if it is larger, go right. Repeat until you find it or fall off the tree into an empty spot, which means absent.

Each step throws away one subtree, so you follow a single root-to-leaf path. That means the cost is proportional to the tree's height, not its node count.

while (node && node.val !== target)
  node = target < node.val ? node.left : node.right;
// node is the match or null

On a balanced tree the height is about log n, so search runs in O(log n). On a lopsided tree that degrades toward O(n), since the path can be as long as the node count. That gap is exactly why balancing matters.

Rewriting in plainer words…

This answer doesn't lend itself to a diagram - it reads best . No credits were charged.

Why there's no diagram: “”

The interactive diagram is below the answer - jump to diagram ↓ · Below it, the related concept . Jump to it ↓

The diagram below the answer is the concept . Jump to it ↓

Tailored explanation · switch back to · ·
What should the new diagram focus on?
Guided practice for Trees, BSTs & Heaps One question at a time. Answer out loud, get graded, see what you missed.
How well did you know this?
AI:

Saved in this browser - sign in to keep your review list.

How should your speech become text?

Listening… your words appear above as you speak - tap Stop when you're done.

Recording · cr - tap Stop & transcribe when you're done.

Transcribing with AI…

Voice:

Keep going - a few more words and AI can grade it.

Interview lens How interviewers actually use this question

Likely follow-ups

  • Walk me through inserting a value. How much of the search does insert reuse? Insert follows the same comparison path until it reaches a null child and attaches the new node there, so it also costs O(height).
  • What insert order would turn this O(log n) search into O(n)? Sorted or reverse-sorted input gives every node a single child. The tree becomes a linked list and the search path is n nodes long.
  • Would you write search recursively or with a loop, and why? Recursion keeps one stack frame per level. That is O(n) frames on a skewed tree and can overflow. The loop needs O(1) extra space.
  • How would you change the search to return the smallest value that is at least the target? Each time you go left, record that node as the best candidate so far. It is still one root-to-leaf path, so O(height).
  • How do you keep search at O(log n) no matter what order values arrive in? Use a self-balancing tree such as AVL or red-black. It rotates on insert and delete to keep the height O(log n).

What you can say

  1. To search a BST, I start at the root and compare the target to each node, then go left or right.
  2. If the target equals the node I'm done, if it's smaller I go left, and if it's larger I go right.
  3. I repeat that until I find it or step into an empty child, and an empty child means the value isn't in the tree.
  4. Each comparison rules out a whole subtree, so I only walk one path from the root down, and the cost depends on the tree's height, not its node count.
  5. On a balanced tree the height is about log n, so search is O(log n).
  6. On a lopsided tree the path can be as long as the node count, so search degrades toward O(n), and that gap is why balancing matters.

Weak answers to avoid

  • Says O(log n) and stops O(log n) only holds for a balanced tree. Say the cost is O(height), then give log n for a balanced tree and n for a skewed one.
  • Searches both subtrees Checking both sides turns the search into a full traversal, which is O(n). The ordering rule lets you drop one side at every step.
  • No stopping rule for a missing value "Keep going until you find it" skips the absent case. Say that reaching a null child means the value is not in the tree.
Interview lens

Likely follow-ups, what you can say, and the weak answers to avoid.

Sign in free to open it Free account - the lens opens as soon as you're back.

Want a quick review of the fundamentals? See the Trees, BSTs & Heaps cheatsheet.

← Back to all Trees, BSTs & Heaps questions
Pro · $10/mo

65 of 76 Trees, BSTs & Heaps answers are in Pro.

Full answers, code samples, and AI explanations that go simpler or deeper. Cancel anytime.

  • Full answers + code
  • AI explanations, simpler or deeper
  • 1,000 AI credits / month
  • Cancel anytime