python实现二叉树遍历
时间: 2024-09-23 10:05:15 浏览: 43
在Python中,二叉树的遍历主要有三种方式:前序遍历(根-左-右)、中序遍历(左-根-右)和后序遍历(左-右-根)。这里提供三种遍历方式的实现:
1. **前序遍历(Pre-order Traversal)**:
```python
def preorder_traversal(node):
if node is not None:
print(node.value, end=" ") # 先访问根
preorder_traversal(node.left) # 再访问左子树
preorder_traversal(node.right) # 最后访问右子树
```
2. **中序遍历(In-order Traversal)**:
```python
def inorder_traversal(node):
if node is not None:
inorder_traversal(node.left) # 先访问左子树
print(node.value, end=" ") # 再访问根
inorder_traversal(node.right) # 最后访问右子树
```
3. **后序遍历(Post-order Traversal)**:
```python
def postorder_traversal(node):
if node is not None:
postorder_traversal(node.left) # 先访问左子树
postorder_traversal(node.right) # 再访问右子树
print(node.value, end=" ") # 最后访问根
```
在这段代码中,`node`是当前访问的节点,如果`node`存在,则先递归地访问它的子节点,然后再访问当前节点。
阅读全文