首页 > 其他 > 详细

二叉树的创建

时间:2019-12-20 14:52:23      阅读:85      评论:0      收藏:0      [点我收藏+]
class Node:   #定义树节点
    def __init__(self,root):
        self.root=root
        self.left=None
        self.right=None
class Tree(object):
    lt = []  # 依次存放左右孩子未满的节点
    def __init__(self):
        self.root = None
    def add(self, number):
        node = Node(number)  # 将输入的数字节点化,使其具有左右孩子的属性
        if self.root == None:
            self.root = node
            Tree.lt.append(self.root)
        else:
            while True:
                point = Tree.lt[0] # 依次对左右孩子未满的节点分配孩子
                if point.left ==None:
                    point.left = node
                    Tree.lt.append(point.left)  # 该节点后面作为父节点也是未满的,也要加入到列表中。
                    return
                elif point.right ==None:
                    point.right = node
                    Tree.lt.append(point.right)  # 与左孩子同理
                    Tree.lt.pop(0)  # 表示该节点已拥有左右孩子,从未满列表中去除
                    return
if __name__==__main__:
    t = Tree()  # 二叉树类的实例化
    L = [1, 2, 3, 4, 5, 6]
    for i in L:
        t.add(i)
        print(节点添加成功)

二叉树的创建

原文:https://www.cnblogs.com/havelucky/p/12072856.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!