Jub*_*uff 8 algorithm
我在考试期间遇到了这个问题,但我找不到快速的答案.
有一个数组A包含一些有序数字A = [1,3,6,9,11]和一个数字为键的BST.我必须提供一个有效的递归算法来从BST中删除A中的数字.
我遇到的问题不是删除节点,而是如何使用在删除节点时排序数组的事实.
有人可以帮我提一些提示吗?
NPE*_*NPE 2
这是一种可能的方法。
您可以同时遍历 BST(使用标准递归算法)和A(从左到右)。每次遍历都会按升序产生元素。您正在寻找匹配的元素以将其从树中删除。
A
简单的算法会有O(size(BST))时间复杂度。
O(size(BST))
在某些情况下,您可以完全避免查看左子树:树中“当前”节点的值为您提供左子树中值的上限,因此如果该值小于“当前”节点的值的元素A,跳过左子树。
您也可以在耗尽后立即停止算法A。
归档时间:
14 年 前
查看次数:
237 次
最近记录: