一、实验目的 理解并熟悉掌握创建二叉树和实现二叉树的三种遍历 二、实验内容 创建二叉树和实现二叉树的三种遍历 a. 根据提示输入字符型数据创建二叉树,输入值为所有字符型数据 b. 输出为遍历后的每个结点的值的顺序 c. 创建二叉树并能实现二叉树的先序、中序、后序遍历 d. 如果输入数据为:a b c 输出结果为:a b c b a c b c a的源码
时间: 2023-10-24 10:08:38 浏览: 44
以下是使用Python实现的代码:
```python
# 定义二叉树结点类
class Node:
def __init__(self, data):
self.data = data
self.left = None
self.right = None
# 创建二叉树
def create_tree():
data = input("请输入一个字符(#表示空结点):")
if data == '#':
return None
node = Node(data)
node.left = create_tree()
node.right = create_tree()
return node
# 先序遍历
def preorder_traversal(root):
if root:
print(root.data, end=' ')
preorder_traversal(root.left)
preorder_traversal(root.right)
# 中序遍历
def inorder_traversal(root):
if root:
inorder_traversal(root.left)
print(root.data, end=' ')
inorder_traversal(root.right)
# 后序遍历
def postorder_traversal(root):
if root:
postorder_traversal(root.left)
postorder_traversal(root.right)
print(root.data, end=' ')
# 测试
root = create_tree()
print("先序遍历:")
preorder_traversal(root)
print("\n中序遍历:")
inorder_traversal(root)
print("\n后序遍历:")
postorder_traversal(root)
```
运行结果:
```
请输入一个字符(#表示空结点):a
请输入一个字符(#表示空结点):b
请输入一个字符(#表示空结点):#
请输入一个字符(#表示空结点):#
请输入一个字符(#表示空结点):c
请输入一个字符(#表示空结点):#
请输入一个字符(#表示空结点):#
先序遍历:
a b c
中序遍历:
b a c
后序遍历:
b c a
```