Binary Search Trees (BST)
A Binary Search Tree (BST) is a special type of binary tree that satisfies the following properties:
- The left subtree of a node contains only nodes with keys lesser than the node's key.
- The right subtree of a node contains only nodes with keys greater than the node's key.
- The left and right subtree each must also be a binary search tree.
- There must be no duplicate nodes.
These properties allow for efficient searching, insertion, and deletion operations.
Interactive BST Search Visualization
The visualization below demonstrates the search process in a Binary Search Tree. You can search for a value to see how the algorithm traverses the tree to find it.
Binary Search Tree - Search Operation
BST Search Algorithm
1. Start at root node
2. Compare target with current node value
3. If equal → Found! If less → go left, if greater → go right
4. Repeat until found or reach null node
Time Complexity: O(log n) average, O(n) worst case
Binary Search Tree Search Algorithm
Searching in a Binary Search Tree (BST) is highly efficient due to its ordered nature. The key property of a BST is that for any given node, all values in its left subtree are smaller, and all values in its right subtree are larger.
Algorithm Steps
- Start at the root of the tree.
- Compare the target value with the current node's value.
- If the target is equal to the current node's value, the node is found.
- If the target is less than the current node's value, move to the left child.
- If the target is greater than the current node's value, move to the right child.
- Repeat the process until the node is found or you reach a null leaf, which means the value is not in the tree.