小编典典

搜索堆中的元素

algorithm

我记得,堆可用于以O(logN)时间复杂度搜索元素是否在其中。但是突然我无法获得细节。我只能找到getmin delete add等。

有人可以提示吗?


阅读 374

收藏
2020-07-28

共1个答案

小编典典

您需要搜索堆中的每个元素以确定元素是否在内部。

不过,可以进行一种优化(我们在此假设为最大堆)。如果到达的节点的值小于要搜索的元素的节点,则无需从该节点进一步搜索。但是,即使进行了这种优化,搜索仍然是O(N)(需要平均检查N
/ 2个节点)。

2020-07-28