二叉树 python实现
时间: 2023-09-15 21:20:54 浏览: 100
在 Python 中实现二叉树有很多种方法,下面是一个使用类来实现二叉树的简单例子:
```python
class Node:
def __init__(self, data):
self.left = None
self.right = None
self.data = data
class Tree:
def __init__(self):
self.root = None
def insert(self, data):
new_node = Node(data)
if self.root is None:
self.root = new_node
else:
current = self.root
while True:
if data < current.data:
if current.left is None:
current.left = new_node
break
else:
current = current.left
else:
if current.right is None:
current.right = new_node
break
else:
current = current.right
def search(self, data):
current = self.root
while current is not None:
if data == current.data:
return current
elif data < current.data:
current = current.left
else:
current = current.right
return None
```
这个例子中有两个类:`Node` 和 `Tree`。
类 Node 定义了二叉树中的一个节点,包含了该节点的左右子节点和数据。
类 Tree 则表示整棵树,包含了根节点。它有两个重要的方法:`insert` 和 `search`。`insert` 方法用来插入新的节点到树中,`search` 方法则可以在树中查找某个节点。
这是一个比较基本的二叉树的实现方式,更复杂的操作如遍历可以通过递归来实现。
阅读全文