困难
技术面试0 次浏览

使用 Python 实现一个二叉搜索树,并实现插入和查找功能。

数据分析师
Python二叉搜索树数据结构

答题要点

二叉搜索树是一种重要的数据结构,它的左子树节点值小于根节点值,右子树节点值大于根节点值。以下是使用 Python 实现二叉搜索树的插入和查找功能的代码。首先定义二叉搜索树的节点类,包含节点值、左子节点和右子节点。class TreeNode: def __init__(self, value): self.value = value self.left = None self.right = None。然后定义二叉搜索树类,包含插入和查找方法。class BinarySearchTree: def __init__(self): self.root = None def insert(self, value): if not self.root: self.root = TreeNode(value) else: self._insert_recursive(self.root, value) def _insert_recursive(self, node, value): if value < node.value: if node.left is None: node.left = TreeNode(value) else: self._insert_recursive(node.left, value) else: if node.right is None: node.right = TreeNode(value) else: self._insert_recursive(node.right, value) def search(self, value): return self._search_recursive(self.root, value) def _search_recursive(self, node, value): if node is None or node.value == value: return node if value < node.value: return self._search_recursive(node.left, value) return self._search_recursive(node.right, value)。插入方法通过递归的方式将新节点插入到合适的位置,查找方法也使用递归在树中查找指定值的节点。