我目前正在处理有关二叉搜索树的问题。我的问题是我收到错误“ AttributeError:'NoneType'对象没有属性'value'”,但是我看不到该怎么办。此代码在我的BST类中。
def _insert(self, data):
if self.root.value == data:
return False
我有一个Node类和BinarySearchTree类。
class _Node:
def __init__(self, value):
self.right_child = None
self.left_child = None
self.value = value
class BST:
def __init__(self):
self.root = None
我想这与在我的init()函数中将self.root设置为None的事实有关。如何解决此问题?
self.root
是None
,因此当您检查self.root.value
时,根目录没有此类元素。
而不是初始化self.root=None
,而是初始化self.root=Node(None)
同样在插入时,如果您打算插入到root
,然后检查root.value
是否为None
,如果是,请插入其余的逻辑内容