Как построить двоичное дерево (в ширину или в порядке уровней) на основе индивидуальных пользовательских данных? - PullRequest
0 голосов
/ 19 февраля 2020

Я хочу добавить элементы рекурсивно, сделав листовые узлы в виде root узлов слева направо.

Ниже приведен мой код, в котором я создал 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
...