DSA Binary Search Trees

DSA Tutorial

 DSA Binary Search Trees (BST) – Complete Beginner Guide

(Concept • Properties • Operations • Examples • Code • Complexity)

A Binary Search Tree (BST) is a special type of Binary Tree that keeps elements ordered, enabling fast search, insertion, and deletion.


1️⃣ What is a Binary Search Tree?

A BST follows this ordering property for every node:

Left Subtree < Root < Right Subtree

This rule applies recursively to all subtrees.

Example



2️⃣ Why Use a BST?

✔ Faster searching than arrays & linked lists
✔ Keeps data sorted
✔ Efficient insert & delete
✔ Foundation for advanced trees (AVL, Red-Black)


3️⃣ Key Properties of BST

  • Left child values are smaller than node

  • Right child values are greater than node

  • No duplicate keys (standard BST)

  • Inorder traversal gives sorted order


4️⃣ BST Traversals (Important)

For a BST:

  • Inorder → Sorted output

  • Preorder → Copy tree

  • Postorder → Delete tree

Example Inorder

2 5 7 10 15 20

5️⃣ BST Node Structure (C++)


 


6️⃣ Insert Operation in BST

Logic

  • If tree is empty → new node becomes root

  • If value < root → go left

  • If value > root → go right

Code (C++)


 


7️⃣ Search Operation in BST

Logic

  • Compare key with root

  • Move left or right accordingly

Code


 


8️⃣ Delete Operation in BST

( Very Important for Interviews)

Three Cases

  1. Leaf Node → delete directly

  2. One Child → replace with child

  3. Two Children → replace with Inorder Successor

Helper (Find Minimum)



 

Delete Code


 


9️⃣ Time Complexity

OperationAverage CaseWorst Case
SearchO(log n)O(n)
InsertO(log n)O(n)
DeleteO(log n)O(n)

 Worst case happens when BST becomes skewed.


🔟 Space Complexity

  • O(h) where h is tree height

  • Recursive calls use stack space


1️⃣1️⃣ BST vs Binary Tree

FeatureBinary TreeBST
Order❌ No✅ Yes
SearchO(n)O(log n) avg
Sorted Output❌ No✅ Yes

1️⃣2️⃣ Common BST Problems (Interview Favorites)

✔ Validate BST
✔ Lowest Common Ancestor (LCA)
✔ Kth smallest element
✔ Range sum in BST
✔ Convert BST to sorted array


Interview Questions (BST)

Q1. Why inorder traversal gives sorted order in BST?
👉 Due to left < root < right property

Q2. What is inorder successor?
👉 Smallest node in right subtree

Q3. When does BST become inefficient?
👉 When it becomes skewed


Final Summary

✔ BST maintains sorted structure
✔ Left < Root < Right
✔ Inorder traversal gives sorted order
✔ Average O(log n) operations
✔ Extremely important for DSA interviews

You may also like...