二叉搜索树(Binary Search Tree,简称BST)是一种特殊的二叉树,其中每个节点的值都大于其左子树中的任何节点值,并且小于其右子树中的任何节点值。这种结构使得查找、插入和删除操作的平均时间复杂度为O(log n)。
打印给定范围内的BST密钥通常涉及到中序遍历(Inorder Traversal),因为中序遍历会按照升序访问BST中的所有节点。
以下是一个Python示例,展示如何打印给定范围内的BST密钥:
class TreeNode:
def __init__(self, key):
self.left = None
self.right = None
self.val = key
def inorder_traversal(root, result):
if root:
inorder_traversal(root.left, result)
result.append(root.val)
inorder_traversal(root.right, result)
def print_range(root, k1, k2):
result = []
inorder_traversal(root, result)
for key in result:
if k1 <= key <= k2:
print(key)
# 示例用法
root = TreeNode(10)
root.left = TreeNode(5)
root.right = TreeNode(20)
root.left.left = TreeNode(3)
root.left.right = TreeNode(7)
print_range(root, 5, 15)
通过以上内容,你应该对打印给定范围内的BST密钥有了全面的了解,并且知道如何解决相关问题。
领取专属 10元无门槛券
手把手带您无忧上云