# 定义一棵树结构
class Tree:
def __init__(self, value):
self.value = value
self.left = None
self.right = None
def zhong(tree, array=[]):
"""
中序遍历
:param tree:
:param array:
:return:
"""
if tree is None:
return array
zhong(tree.left, array)
array.append(tree.value)
zhong(tree.right, array)
return array
def pre(tree, array=[]):
"""
前序遍历
:param tree:
:param array:
:return:
"""
if tree is None:
return array
array.append(tree.value)
pre(tree.left, array)
pre(tree.right, array)
return array
def behind(tree, array=[]):
"""
后序遍历
:param tree:
:param array:
:return:
"""
if tree is None:
return array
behind(tree.left, array)
behind(tree.right, array)
array.append(tree.value)
return array
# 按照给出的树,构建树形结构
tree = Tree(10)
tree.left = Tree(5)
tree.right = Tree(15)
tree.left.left = Tree(2)
tree.left.right = Tree(5)
tree.left.left.left = Tree(1)
tree.right.right = Tree(22)
print(zhong(tree, []))
print(behind(tree, []))
print(pre(tree, []))
参考视频:https://www.bilibili.com/video/BV1Ev411i7Rk/?spm_id_from=333.337.search-card.all.click&vd_source=30aff718c4a81a6d17f211397fc39bb7