如何用Python实现二叉树的前序、中序和后序遍历?
时间: 2024-12-23 11:18:43 浏览: 2
Python实现输入二叉树的先序和中序遍历,再输出后序遍历操作示例
在Python中,我们可以使用递归或迭代的方式来实现二叉树的三种基本遍历:前序遍历、中序遍历和后序遍历。
**1. 前序遍历 (Preorder Traversal)**
```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` 分别表示节点的左子树和右子树。这些函数会按照相应的顺序打印出二叉树的所有节点值。
阅读全文