构建二叉树

时间:2021-04-26 17:43:04

标签: python-3.x

如何考虑以下模式构建二叉树 - 左右孩子,以及父母?

class BinaryTree:
    def __init__(self, value, left=None, right=None, parent=None):
        self.value = value
        self.left = left
        self.right = right
        self.parent = parent

我之前用过最简单的模式。

tree = BinaryTree(1)
tree.left = BinaryTree(2)
tree.right = BinaryTree(3)
tree.left.left = BinaryTree(4)
tree.left.left.left = BinaryTree(6)
tree.left.right = BinaryTree(5)

#              1
#            /   \
#           2     3
#         /  \
#        4    5
#       /
#      6

1 个答案:

答案 0 :(得分:0)

您还需要设置子小部件的父级。由于父母在孩子被初始化的那一刻就知道你可以使用 parentBinaryTree.__init__ 参数,即

tree.left = BinaryTree(2, parent=tree)
tree.left.left = BinaryTree(4, parent=tree.left)

相关问题