Я хочу вставить «новый» узел в двоичное дерево поиска.Но при выполнении кода я либо получаю такие ошибки, как:
an infinte loop (with nothing as display)
temp.data(nonetype) has no value.
Можете ли вы увидеть, что является ошибкой в этом коде и как ее исправить.
Пожалуйста, посмотрите мой следующий код:
class Node:
def __init__(self,data=0):
self.data = data
self.left = None
self.right = None
class tree:
def __init__(self):
self.root = None
def insert(self,data):
temp = root
new_node = Node(data)
new_node.left = None
new_node.right =None
while temp.left and temp.right:
if new_node.data < temp.data:
temp = temp.left
else:
temp = temp.right
if temp.data > new_node.data:
temp.left = new_node
else:
temp.right = new_node
def display(self,temp):
if temp == None:
return
else:
print(temp.data,end = " ")
self.display(temp.left)
self.display(temp.right)
if __name__=='__main__':
mylist = tree()
root = Node(19)
root.left =Node(12)
root.right = Node(30)
mylist.insert(10)
mylist.display()