创建一个二叉树,对其实现先序、中序、后序遍历并显示三种遍历结果
时间: 2023-12-26 17:04:38 浏览: 34
好的,创建一个二叉树并实现遍历的代码如下:
```python
# 定义二叉树节点类
class TreeNode:
def __init__(self, val):
self.val = val
self.left = None
self.right = None
# 创建二叉树
def create_tree():
root = TreeNode(1)
root.left = TreeNode(2)
root.right = TreeNode(3)
root.left.left = TreeNode(4)
root.left.right = TreeNode(5)
root.right.left = TreeNode(6)
root.right.right = TreeNode(7)
return root
# 先序遍历
def preorder_traversal(root):
if root is not None:
print(root.val)
preorder_traversal(root.left)
preorder_traversal(root.right)
# 中序遍历
def inorder_traversal(root):
if root is not None:
inorder_traversal(root.left)
print(root.val)
inorder_traversal(root.right)
# 后序遍历
def postorder_traversal(root):
if root is not None:
postorder_traversal(root.left)
postorder_traversal(root.right)
print(root.val)
# 测试
root = create_tree()
print("先序遍历结果:")
preorder_traversal(root)
print("中序遍历结果:")
inorder_traversal(root)
print("后序遍历结果:")
postorder_traversal(root)
```
输出结果为:
```
先序遍历结果:
1
2
4
5
3
6
7
中序遍历结果:
4
2
5
1
6
3
7
后序遍历结果:
4
5
2
6
7
3
1
```