.自己设计一个二叉树,深度最少为 4,请递归算法分别用前序、中序、后序遍历输出 树结点。
时间: 2024-11-24 07:40:35 浏览: 23
假设我们设计了一个最小深度为4的二叉树,它可能看起来像这样:
```
1
/ \
2 3
/ \ / \
4 5 6 7
```
这是一个简单的满二叉树结构,每个节点都有两个子节点,除了最底层。
以下是使用递归算法分别进行前序、中序和后序遍历的示例:
**前序遍历(根-左-右)**
- 函数:preorder(node)
- 输出:1->2->4->5->3->6->7
```python
def preorder(root):
if root is not None:
print(root.val) # 输出当前节点值
preorder(root.left) # 遍历左子树
preorder(root.right) # 遍历右子树
```
**中序遍历(左-根-右)**
- 函数:inorder(node)
- 输出:4->2->5->1->6->3->7
```python
def inorder(root):
if root is not None:
inorder(root.left) # 遍历左子树
print(root.val) # 输出当前节点值
inorder(root.right) # 遍历右子树
```
**后序遍历(左-右-根)**
- 函数:postorder(node)
- 输出:4->5->2->6->7->3->1
```python
def postorder(root):
if root is not None:
postorder(root.left) # 遍历左子树
postorder(root.right) # 遍历右子树
print(root.val)
阅读全文