Попытка написать двоичное дерево поиска в Python с различными функциями.Одной из функций является простой узел «вставки».
class Node(object):
def __init__(self, val=None):
self.val = val
self.left = None
self.right = None
def insert(self, root, val):
if root is None:
return Node(val)
if val < root.val:
root.left = self.insert(root.left, val)
elif root.val < val:
root.right = self.insert(root.right, val)
return root
Кажется довольно простым, но когда я создаю объект Node:
root= Node()
и попытался вставить его с помощью:
root = root.insert(root,30)
Я получаю сообщение о том, что «<» не поддерживается между экземплярами «int» и «NoneType» </p>
Я уже пытаюсь позаботиться об этом в функции вставки, установив if root is None:
Как я могу это исправить?