请使用 python 实现二叉树的三种遍历
时间: 2024-10-20 15:05:00 浏览: 22
在Python中,我们可以使用递归或迭代的方式来实现二叉树的三种基本遍历:前序遍历、中序遍历和后序遍历。
1. **前序遍历 (Preorder Traversal)**: 先访问根节点,然后遍历左子树,最后遍历右子树。在Python中,可以用下面的方式实现:
```python
def preorder_traversal(root):
if root is not None:
print(root.val) # 访问当前节点
preorder_traversal(root.left) # 遍历左子树
preorder_traversal(root.right) # 遍历右子树
```
2. **中序遍历 (Inorder Traversal)**: 先遍历左子树,然后访问根节点,最后遍历右子树:
```python
def inorder_traversal(root):
if root is not None:
inorder_traversal(root.left)
print(root.val) # 访问当前节点
inorder_traversal(root.right)
```
3. **后序遍历 (Postorder Traversal)**: 先遍历左子树和右子树,最后访问根节点:
```python
def postorder_traversal(root):
if root is not None:
postorder_traversal(root.left)
postorder_traversal(root.right)
print(root.val) # 访问当前节点
```
以上函数假设`root`是一个包含`val`属性(表示节点值)以及`left`和`right`属性(分别指向左子树和右子树)的类实例。
阅读全文