二叉树的递归遍历pta
时间: 2024-08-12 08:09:03 浏览: 66
二叉树的递归遍历通常指的是三种基本的遍历方法:前序遍历(Preorder Traversal)、中序遍历(Inorder Traversal)和后序遍历(Postorder Traversal),每种方法都是通过递归的方式来访问二叉树的所有节点。
1. **前序遍历(Preorder)**:先访问根节点,然后递归地访问左子树,最后访问右子树。用递归表示就是 `root -> left -> right`。
```python
def preorder(root):
if root is not None:
print(root.val) # 访问根
preorder(root.left) # 递归左子树
preorder(root.right) # 递归右子树
```
2. **中序遍历(Inorder)**:先递归地访问左子树,然后访问根节点,最后访问右子树。顺序是 `left -> root -> right`。
```python
def inorder(root):
if root is not None:
inorder(root.left) # 递归左子树
print(root.val) # 访问根
inorder(root.right) # 递归右子树
```
3. **后序遍历(Postorder)**:先递归地访问左子树和右子树,最后访问根节点。顺序是 `left -> right -> root`。
```python
def postorder(root):
if root is not None:
postorder(root.left) # 递归左子树
postorder(root.right) # 递归右子树
print(root.val)
阅读全文