如何使用Python在二进制搜索树中实现搜索函数?

如何使用Python在二进制搜索树中实现搜索函数?,python,python-3.x,binary-search-tree,Python,Python 3.x,Binary Search Tree,searchNode函数无法正常工作。当搜索二叉树中的元素时,它返回None而不是True。我不明白为什么它是无的,因为它应该返回True或False,但永远不会返回无。你能告诉我怎么修吗 class Node: def __init__(self, value): self.value = value self.left = None self.right = None class BinarySearchTree: def __init__(self): s

searchNode函数无法正常工作。当搜索二叉树中的元素时,它返回None而不是True。我不明白为什么它是无的,因为它应该返回True或False,但永远不会返回无。你能告诉我怎么修吗

class Node:
def __init__(self, value):
    self.value = value
    self.left = None
    self.right = None

class BinarySearchTree:
def __init__(self):
    self.root = None
    self.visited = 0

def insert(self,value):
    if self.root is None:
        self.root =  Node(value)
    else:
        self.insertNode(self.root, value)

def insertNode(self,current, value):
    if value <= current.value:
        if  current.left:
            self.insertNode(current.left, value)
        else:
            current.left = Node(value)
    else:
        if current.right:
            self.insertNode(current.right, value)
        else:
            current.right = Node(value)

def fromArray(self, newarr):
    for each in newarr:
        self.insert(each)
    return

def search(self, value):
    self.visited = 0
    self.searchNode(self.root, value)

def searchNode(self,current,value):
    if (current is None):
        return False
    elif (value == current.value):
        return True
    elif (value < current.value):
        self.visited += 1
        return self.searchNode(current.left, value)
    else:
        self.visited += 1
        return self.searchNode(current.right, value)
类节点:
定义初始值(自身,值):
自我价值=价值
self.left=无
self.right=无
类二进制搜索树:
定义初始化(自):
self.root=None
自访问=0
def插入(自身,值):
如果self.root为无:
self.root=节点(值)
其他:
self.insertNode(self.root,value)
def insertNode(自身、当前、值):

如果值,则在
搜索中从不返回任何内容。您可能希望
返回self.searchNode(self.root,value)
而不是仅仅调用它。

您如何调用此方法并评估结果?粘贴代码而不是屏幕截图。请在您的帖子中复制粘贴代码(注意缩进)。谢谢!它现在工作正常。我在搜索功能中添加了return