Python数据结构之树形结构——数组存储
- 树:一种非线性结构,主要使用链表来存储,也可以使用数组存储。
- 本代码使用两种数组
元素数组:0,6,3,5,4,7,8,9,2
由于 0 索引不存储元素,所以用0代替
树数组: [0]*16
代码部分
- 基本元素定义
data_array = [0, 6, 3, 5, 4, 7, 8, 9, 2]
tree_array = [0] * 16
- 创建树结构
def create_tree():
for i in range(1, len(data_array)):
level = 1
while tree_array[level] != 0:
if data_array[i] > tree_array[level]:
level = level * 2 + 1
else:
level = level * 2
tree_array[level] = data_array[i]
- 总结:全部代码
data_array = [0, 6, 3, 5, 4, 7, 8, 9, 2]
tree_array = [0] * 16
def create_tree():
for i in range(1, len(data_array)):
level = 1
while tree_array[level] != 0:
if data_array[i] > tree_array[level]:
level = level * 2 + 1
else:
level = level * 2
tree_array[level] = data_array[i]
if __name__ == '__main__':
create_tree()
print("数组中的数据: ", data_array)
print("数组保存的二叉树数据: ", tree_array)