创建并存储一颗二叉树,要求从键盘输入各节点信息,存储方式为顺序存储代码
时间: 2024-10-27 07:07:09 浏览: 20
数据结构C语言版_二叉树的顺序存储表示和实现
4星 · 用户满意度95%
创建并存储二叉树的顺序存储通常涉及到两个部分:节点数据结构的设计以及如何将它们按照顺序的方式组织。这里是一个简单的Python示例,用于表示二叉树节点,并通过数组(线性结构)存储节点信息:
```python
class Node:
def __init__(self, value):
self.value = value
self.left = None
self.right = None
def create_binary_tree():
# 输入节点值列表
input_values = [int(x) for x in input("请输入二叉树节点的值,以空格分隔:")]
if not input_values: # 如果输入为空,返回空树
return None
# 初始化根节点
root = Node(input_values[0])
stack = [root]
index = 1 # 记录当前处理的输入索引
while stack and index < len(input_values):
node = stack.pop()
# 左孩子
if index < len(input_values):
node.left = Node(input_values[index]) if input_values[index] is not None else None
index += 1
stack.append(node.left)
# 右孩子
if index < len(input_values):
node.right = Node(input_values[index]) if input_values[index] is not None else None
index += 1
stack.append(node.right)
return root
# 示例:
# 树的构造过程类似于:
# 5
# / \
# 3 8
# / \
# 2 7
# / \
# 1 6
tree = create_binary_tree()
```
在这个例子中,我们使用栈来遍历输入值,构建左右子树,同时保持二叉树的层次结构。当所有节点都插入后,`create_binary_tree`函数会返回根节点。
阅读全文