用Python写一个二叉树检索算法
时间: 2023-03-19 17:23:51 浏览: 43
下面是一个简单的二叉树检索算法的Python代码实现:
```
class Node:
def __init__(self, data):
self.left = None
self.right = None
self.data = data
def search(root, data):
if root is None:
return None
if root.data == data:
return root
if data < root.data:
return search(root.left, data)
else:
return search(root.right, data)
root = Node(8)
root.left = Node(3)
root.right = Node(10)
root.left.left = Node(1)
root.left.right = Node(6)
root.right.right = Node(14)
result = search(root, 6)
if result is not None:
print("Data is present in the tree")
else:
print("Data is not present in the tree")
```
这段代码实现了二叉树的递归检索算法。首先,它定义了一个`Node`类,表示二叉树的节点。然后,它定义了一个名为`search`的函数,用于在二叉树中查找给定的数据。如果当前节点为空,则返回`None`;如果当前节点的数据与要查找的数据相等,则返回当前节点;如果要查找的数据小于当前节点的数据,则递归搜索左子树;否则,递归搜索右子树。最后,程序创建了一个二叉树,并使用`search`函数检索了一个数据,并输出了是否存在。
阅读全文