ALGORITHMS
🇬🇧UK Edition🇨🇦Canada Edition🌐Global Tech
Validating a Binary Search Tree (BST): Depth-First Search & Range Bounds Analysis
Elena Rostova
Staff Engineer & Graph Algorithms Lead
Updated 07/09/20263 min read8 views
Problem Definition
A Binary Search Tree (BST) satisfies the invariant that every node in the left subtree is strictly less than the parent, and every node in the right subtree is strictly greater.
Range Boundary Validation
We pass valid numerical bounds [low, high] recursively to ensure complete subtree correctness.


python
class TreeNode:
def __init__(self, val=0, left=None, right=None):
self.val = val
self.left = left
self.right = right
def is_valid_bst(root: TreeNode) -> bool:
def validate(node, low=float('-inf'), high=float('inf')):
if not node:
return True
if not (low < node.val < high):
return False
return validate(node.left, low, node.val) and validate(node.right, node.val, high)
return validate(root)
root = TreeNode(10, TreeNode(5), TreeNode(15))
print("Is Valid BST:", is_valid_bst(root))Frequently Asked Questions (FAQ)
Q: What is the recursion space complexity?
O(H) space where H is the height of the tree.
Written by Elena RostovaAdSense EEAT Verified
Staff Engineer & Graph Algorithms Lead. Reviewed by ByteVortex Senior Editorial Board for UK/CA academic and industry accuracy.