二叉搜索树(Binary Search Tree,BST)是一种特殊的二叉树,其中每个节点的值都大于其左子树中的任何节点值,并且小于其右子树中的任何节点值。递归搜索是遍历BST的一种常见方法,通过递归地访问树的节点来查找特定值。
BST的递归搜索主要有三种类型:
递归搜索在以下场景中非常有用:
以下是一个使用递归搜索BST的示例代码(Python):
class TreeNode:
def __init__(self, key):
self.left = None
self.right = None
self.val = key
def search(root, key):
if root is None or root.val == key:
return root
if root.val < key:
return search(root.right, key)
return search(root.left, key)
# 示例用法
root = TreeNode(10)
root.left = TreeNode(5)
root.right = TreeNode(15)
root.left.left = TreeNode(3)
root.left.right = TreeNode(7)
result = search(root, 7)
if result:
print("找到节点:", result.val)
else:
print("未找到节点")
希望这些信息对你有所帮助!
领取专属 10元无门槛券
手把手带您无忧上云