【数据结构】二叉树遍历的实现
时间: 2023-10-19 18:36:12 浏览: 96
二叉树遍历有三种常用的方式:前序遍历、中序遍历和后序遍历。下面是它们的实现。
1. 前序遍历(Preorder traversal):先访问根节点,然后递归地遍历左子树,最后递归地遍历右子树。
```python
def preorder_traversal(root):
if root is None:
return
print(root.val) # 假设二叉树节点的值存储在val属性中
preorder_traversal(root.left)
preorder_traversal(root.right)
```
2. 中序遍历(Inorder traversal):先递归地遍历左子树,然后访问根节点,最后递归地遍历右子树。
```python
def inorder_traversal(root):
if root is None:
return
inorder_traversal(root.left)
print(root.val)
inorder_traversal(root.right)
```
3. 后序遍历(Postorder traversal):先递归地遍历左子树,然后递归地遍历右子树,最后访问根节点。
```python
def postorder_traversal(root):
if root is None:
return
postorder_traversal(root.left)
postorder_traversal(root.right)
print(root.val)
```
以上是递归实现的方式,也可以使用迭代的方式来实现。希望对你有所帮助!如果有其他问题,请继续提问。
阅读全文