我正在处理的问题是在BST中的inorder遍历中查找第一个出现节点。 我有下面的代码Python中的InOrder遍历
def Inorder_search_recursive(node,key):
if not node:
return None
InOrder_search_recursive(node.lChild)
if node.value==key:
return node
InOrder_search_recursive(node.rChild)
该代码被赋予总是返回None,有什么不对的地方。当我找到一个值为k的节点时,我想我已经返回了节点。为什么不能蟒蛇通过这个节点???在此先感谢
如果这是一个二叉搜索树,那么使用实际的二分搜索而不是顺序搜索可能会获得更好的结果。 – user2357112
是的你是对的,我只是想通了,我们可以首先用价值键找到那个值。我们可以使用BST的财产来节省很多时间。然后搜索它的左子树。如果其左子树也有一个带有值键的节点,则立即返回。 – lexie