建立一个二叉树,并用前序,中序和后序遍历输出这个二叉树
时间: 2024-12-02 19:14:21 浏览: 11
建立一个二叉树通常会包含一个节点类,每个节点包含一个值(通常是整数或字符)以及两个指向左孩子和右孩子的引用。以下是创建二叉树并进行三种遍历的基本步骤:
**二叉树节点定义示例(Python):**
```python
class TreeNode:
def __init__(self, val=0, left=None, right=None):
self.val = val
self.left = left
self.right = right
```
**前序遍历(根-左-右):**
- 函数:从根节点开始,先访问根,然后递归地遍历左子树,最后遍历右子树。
- 示例:
```python
def preorder_traversal(root):
if root is not None:
print(root.val) # 先访问根
preorder_traversal(root.left) # 再遍历左子树
preorder_traversal(root.right) # 最后遍历右子树
```
**中序遍历(左-根-右):**
- 函数:从左子树开始,递归地访问所有左节点,然后访问根节点,最后遍历右子树。
- 示例:
```python
def inorder_traversal(root):
if root is not None:
inorder_traversal(root.left)
print(root.val) # 中间访问根
inorder_traversal(root.right)
```
**后序遍历(左-右-根):**
- 函数:先递归地遍历左子树和右子树,最后访问根节点。
- 示例:
```python
def postorder_traversal(root):
if root is not None:
postorder_traversal(root.left)
postorder_traversal(root.right)
print(root.val) # 最后访问根
```
阅读全文