二叉查找树python
时间: 2023-08-27 09:16:26 浏览: 110
二叉查找树(Binary Search Tree,BST)是一种常用的数据结构,它具有以下特点:
1. 每个节点最多有两个子节点,分别称为左子节点和右子节点。
2. 左子节点的值小于父节点的值,右子节点的值大于等于父节点的值。
3. 左子树和右子树都是二叉查找树。
下面是一个用Python实现的简单二叉查找树示例:
```python
class Node:
def __init__(self, value):
self.value = value
self.left = None
self.right = None
def insert(root, value):
if root is None:
return Node(value)
if value < root.value:
root.left = insert(root.left, value)
else:
root.right = insert(root.right, value)
return root
def search(root, value):
if root is None or root.value == value:
return root
if value < root.value:
return search(root.left, value)
return search(root.right, value)
# 示例用法
root = None
root = insert(root, 5)
root = insert(root, 3)
root = insert(root, 7)
root = insert(root, 1)
root = insert(root, 4)
# 在二叉查找树中搜索值为4的节点
result = search(root, 4)
if result:
print("找到了节点:", result.value)
else:
print("未找到节点")
```
这段代码实现了二叉查找树的插入和搜索操作。你可以根据自己的需求进行修改和扩展。
阅读全文