python列表存储结构建立二叉树的代码和参数实力化的代码
时间: 2024-02-05 19:04:42 浏览: 84
以下是使用 Python 列表存储二叉树的示例代码:
```python
class BinaryTree:
def __init__(self, root):
self.tree = [root, [], []]
def insert_left(self, value):
if not self.tree[1]:
self.tree[1] = [value, [], []]
else:
t = BinaryTree(value)
t.tree[1] = self.tree[1]
self.tree[1] = t.tree
def insert_right(self, value):
if not self.tree[2]:
self.tree[2] = [value, [], []]
else:
t = BinaryTree(value)
t.tree[2] = self.tree[2]
self.tree[2] = t.tree
def get_root(self):
return self.tree[0]
def set_root(self, value):
self.tree[0] = value
def get_left_child(self):
return self.tree[1]
def get_right_child(self):
return self.tree[2]
```
这个二叉树使用一个包含三个元素的列表来存储每个节点。第一个元素是节点的值,第二个元素是左子树,第三个元素是右子树。如果左子树或右子树为空,则用一个空列表表示。
以下是二叉树的参数实例化代码:
```python
# 创建根节点为 1 的二叉树
bt = BinaryTree(1)
# 添加左子节点 2
bt.insert_left(2)
# 添加右子节点 3
bt.insert_right(3)
# 获取根节点的值
print(bt.get_root()) # 输出 1
# 获取左子节点
print(bt.get_left_child()) # 输出 [2, [], []]
# 设置根节点的值
bt.set_root(4)
# 获取根节点的值
print(bt.get_root()) # 输出 4
```
阅读全文