首页 > 解决方案 > 如何根据单个用户输入构建二叉树(广度优先或级别顺序)?

问题描述

我想通过将叶节点作为根节点从左到右递归地添加元素。

下面是我创建 3 个节点但无法正确插入新节点的代码。

class node:
    def __init__(self,data):
        self.left = None
        self.right = None
        self.data = data


class BinaryTree:
    def __init__(self,root):
        self.root = node(root)

    def insert(self,value):
        left = 0
        right = 0
        if self.root is not None:
            if self.root.left is None:
                self.root.left = node(value)

            elif self.root.right is None:
                self.root.right = node(value)

            .
            .
            .        

tree = BinaryTree(1)
tree.insert(2)
tree.insert(3)#---> till this it's okay.
tree.insert(4)
tree.insert(5)
tree.insert(6)
tree.insert(7)

我希望树看起来像这样

          1
     2        3
  4    5   6     7

标签: pythonrecursiondata-structurestreebinary-tree

解决方案


推荐阅读