使用python代码举例说明二叉查找树
时间: 2023-01-31 10:33:12 浏览: 118
����查找树(Binary Search Tree,简称BST)是一种特殊的二叉树,它的每个节点的值都大于它的左子树的所有节点的值,小于它的右子树的所有节点的值。因此,BST可以用于快速查找、插入和删除数据。
下面是一个使用python代码构建BST的示例:
```python
class Node:
def __init__(self, val):
self.val = val
self.left = None
self.right = None
class BST:
def __init__(self):
self.root = None
def insert(self, val):
new_node = Node(val)
if self.root is None:
self.root = new_node
else:
curr = self.root
while True:
if val < curr.val:
if curr.left is None:
curr.left = new_node
break
else:
curr = curr.left
else:
if curr.right is None:
curr.right = new_node
break
else:
curr = curr.right
def search(self, val):
curr = self.root
while curr is not None:
if val == curr.val:
return True
elif val < curr.val:
curr = curr.left
else:
curr = curr.right
return False
```
在这个示例中,我们定义了一个`Node`类来表示BST中的节点,并定义了一个`BST`类来表示整棵树。`BST`类有两个方法:`insert`方法用于插入新的数据,`search`方法用于查找给定值是否在BST中。
使用这个示例代码,你可以这样创建一棵BST并插入几个数据:
```python
tree = BST()
tree.insert(5)
tree.insert(3)
tree.insert(7)
tree.insert(2)
tree.insert(
阅读全文