行业知识
Python二叉树遍历算法
2026-10-27 01:04:34
来源:互联网转载
# 定义一棵树结构class Tree: def __init__(self, value): self.value = value self.left = None self.right = Nonedef 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 arraydef 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 arraydef 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
() ()上一篇:网站设计怎么?