创建和图的遍历的代码实现,编写源代码
时间: 2024-02-05 22:11:10 浏览: 40
以下是创建二叉树和遍历二叉树的 Python 代码实现:
```python
# 定义二叉树节点类
class TreeNode:
def __init__(self, val=0, left=None, right=None):
self.val = val
self.left = left
self.right = right
# 创建二叉树
def create_tree(arr):
if not arr:
return None
n = len(arr)
mid = n // 2
root = TreeNode(arr[mid])
root.left = create_tree(arr[:mid])
root.right = create_tree(arr[mid+1:])
return root
# 前序遍历
def preorder_traversal(root):
if not root:
return
print(root.val)
preorder_traversal(root.left)
preorder_traversal(root.right)
# 中序遍历
def inorder_traversal(root):
if not root:
return
inorder_traversal(root.left)
print(root.val)
inorder_traversal(root.right)
# 后序遍历
def postorder_traversal(root):
if not root:
return
postorder_traversal(root.left)
postorder_traversal(root.right)
print(root.val)
```
使用示例:
```python
arr = [1, 2, 3, 4, 5, 6, 7]
root = create_tree(arr)
print("前序遍历:")
preorder_traversal(root)
print("中序遍历:")
inorder_traversal(root)
print("后序遍历:")
postorder_traversal(root)
```
输出结果:
```
前序遍历:
4
2
1
3
6
5
7
中序遍历:
1
2
3
4
5
6
7
后序遍历:
1
3
2
5
7
6
4
```
阅读全文