写一个有序二叉树查找的python代码
时间: 2024-02-04 22:01:56 浏览: 66
下面是一个简单的 Python 代码,实现了有序二叉树的查找功能:
```python
class TreeNode:
def __init__(self, val):
self.val = val
self.left = None
self.right = None
class BinarySearchTree:
def __init__(self):
self.root = None
def search(self, val):
node = self.root
while node:
if val == node.val:
return node
elif val < node.val:
node = node.left
else:
node = node.right
return None
```
上面的代码中,`TreeNode` 表示二叉树的节点,`BinarySearchTree` 表示二叉搜索树。`search` 方法接收一个参数 `val`,表示要查找的值,返回对应的节点。如果树中不存在该值,返回 `None`。
在 `search` 方法中,我们从根节点开始,比较要查找的值与当前节点的值大小关系,根据大小关系不断往左或右子树查找,直到找到该值或者遍历到叶子节点。
阅读全文