意见箱
恒创运营部门将仔细参阅您的意见和建议,必要时将通过预留邮箱与您保持联络。感谢您的支持!
意见/建议
提交建议

python 实现 二叉树

来源:恒创科技 编辑:恒创科技编辑部
2023-12-31 04:08:59

条件:
array = [1,2,3,4,5,6,7,8,9,10]

# python实现二叉树的数据结果

class TreeNode(object):

    def __init__(self, x):
        self.val = x
        self.left = None
        self.right = None


class BinaTree(object):

    def __init__(self):
        self.root = None
        self.ls = []

    def add(self, val):
        node = TreeNode(val)
        if self.root == None:
            self.root = node
            self.ls.append(self.root)
        else:
            cur_node = self.ls[0]
            if cur_node.left == None:
                cur_node.left = node
                self.ls.append(cur_node.left)
            elif cur_node.right == None:
                cur_node.right = node
                self.ls.append(cur_node.right)
                self.ls.pop(0)

    def prescan(self, root):
        if root == None:
            return
        print(root.val)
        self.prescan(root.left)
        self.prescan(root.right)

if __name__ == "__main__":
    array = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
    bt = BinaTree()
    for val in array:
        bt.add(val)
    bt.prescan(bt.root)
 


python 实现 二叉树

上一篇: 最小二乘拟合(原理+python代码) 下一篇: Python入门系列(八)日期时间、数学、json