使用python代码举例说明二叉树
时间: 2023-12-10 07:53:26 浏览: 81
好的,以下是一个简单的二叉树的 Python 代码实现:
```
class Node:
def __init__(self, val):
self.val = val
self.left = None
self.right = None
class BinaryTree:
def __init__(self):
self.root = None
# 插入节点
def insert(self, val):
if not self.root:
self.root = Node(val)
else:
self._insert(val, self.root)
def _insert(self, val, node):
if val < node.val:
if not node.left:
node.left = Node(val)
else:
self._insert(val, node.left)
else:
if not node.right:
node.right = Node(val)
else:
self._insert(val, node.right)
# 中序遍历
def inorder(self):
if not self.root:
return []
else:
return self._inorder(self.root)
def _inorder(self, node):
res = []
if node.left:
res += self._inorder(node.left)
res.append(node.val)
if node.right:
res += self._inorder(node.right)
return res
# 测试
tree = BinaryTree()
tree.insert(5)
tree.insert(2)
tree.insert(7)
tree.insert(1)
tree.insert(3)
print(tree.inorder()) # 输出 [1, 2, 3, 5, 7]
```
在上面的代码中,我们定义了一个 `Node` 类表示二叉树的节点,以及一个 `BinaryTree` 类表示二叉树本身。其中,`insert` 方法用于插入节点,`inorder` 方法用于中序遍历二叉树。在测试中,我们插入了几个节点,并进行中序遍历,输出结果为 `[1, 2, 3, 5, 7]`,符合二叉树中序遍历的结果。
阅读全文