Я использую 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'.Та же ошибка при печати