ОШИБКА: объект Node не имеет атрибута insert при создании двоичного дерева - PullRequest
0 голосов
/ 20 ноября 2018

Я использую Python 3, когда пытаюсь создать двоичное дерево.Я получаю сообщение об ошибке «Узел» объект не имеет атрибута вставки.Я пытаюсь вызвать функцию внутри функции.

class Node:
    def __init__(self, key):
        self.key = key
        self.left_child = None
        self.right_child = None

class binary_search_tree:
    def __init__(self):
        self.node = None

    def insert(self, data):
        if self.node == None:
            self.node = Node(data)
        else:
            if data < self.node.key:
                if self.node.left_child == None:
                    self.node.left_child = Node(data)
                else:
                    self.node.left_child.insert(data)
            elif data > self.node.key:
                if self.node.right_child == None:
                    self.node.right_child = Node(data)
                else:
                    self.node.right_child.insert(data)
            else:
                print("data is present")

    def print_tree(self):
        if self.node.left_child:
            self.node.left_child.print_tree()
        print(self.node.key)
        if self.node.right_child:
            self.node.right_child.print_tree()

tree= binary_search_tree()
tree.insert(1)
tree.insert(2)
tree.insert(3)
#tree.print_tree()

AttributeError: у объекта 'Node' нет атрибута 'insert'.Та же ошибка при печати

...