如果我搜索缺少的BST项目,为什么我的程序会崩溃?

时间:2018-11-30 13:16:43

标签: python search binary-search-tree nodes

我已经构造了一个BST来容纳单词,并且我正在尝试完成搜索功能,但是由于某种原因,如果我搜索BST中不存在的项目,则程序将崩溃,但是我可以告诉它不应该这样做吗?

def bst_search(root, target):
if root.value == target or root is None:
    print("Yes")
    return root
elif target < root.value:
    return bst_search(root.left, target)
elif target > root.value:
    return bst_search(root.right, target)
else:
    print("No")

但是当我运行它寻找不在列表中的项目时,出现此错误:

AttributeError: 'NoneType' object has no attribute 'value'

不是也应该默认设置else并自动打印“否”吗?还是程序只是在递归调用和吓跑时什么都不给?

0 个答案:

没有答案