建立一棵二叉树。对此树进行前序遍历、中序遍历及后序遍历,输出遍历序列。展示是输出结果
时间: 2024-12-15 14:30:14 浏览: 7
建立一颗二叉树通常需要先指定根节点,然后递归地为左右子节点添加元素。这里假设我们有一个简单的二叉树结构:
```python
class TreeNode:
def __init__(self, val=0, left=None, right=None):
self.val = val
self.left = left
self.right = right
```
接下来我们可以创建一个示例二叉树:
```plaintext
1
/ \
2 3
/ \
4 5
```
前序遍历(根-左-右):1->2->4->5->3
中序遍历(左-根-右):4->2->1->5->3
后序遍历(左-右-根):4->5->2->3->1
为了演示这三种遍历方式,我们可以编写相应的函数:
```python
def preorder_traversal(root):
if root is not None:
print(root.val, end=" -> ")
preorder_traversal(root.left)
preorder_traversal(root.right)
def inorder_traversal(root):
if root is not None:
inorder_traversal(root.left)
print(root.val, end=" -> ")
inorder_traversal(root.right)
def postorder_traversal(root):
if root is not None:
postorder_traversal(root.left)
postorder_traversal(root.right)
print(root.val, end=" -> ")
# 假设已经初始化了二叉树
root = TreeNode(1, TreeNode(2, TreeNode(4), TreeNode(5)), TreeNode(3))
print("前序遍历:", end="")
preorder_traversal(root)
print("\n中序遍历:", end="")
inorder_traversal(root)
print("\n后序遍历:", end="")
postorder_traversal(root)
```
运行上述代码将分别打印出三个遍历的结果。
阅读全文