Sedgwick和Wayne的IndexMinPQ目的算法4

问题描述 投票:0回答:1

我不清楚IndexMinPQ数据结构的用途。给出了一个实现IndexMinPQ.java

尽管本书本身提供了简短的介绍,但不清楚。我不清楚为什么我们需要这种数据结构和其他操作?

java data-structures priority-queue
1个回答
1
投票

优先级队列的堆实现问题在于,很难找到特定的节点。例如,假设您有一个包含100,000个项目的堆,并且您想降低值为732的节点的优先级。找到该节点的唯一方法是通过线性搜索堆。降低节点的优先级是O(log n)操作,但是查找节点是O(n)。

索引优先级队列维护查找结构,以便您可以在O(1)中找到该节点。

此功能在需要修改优先级队列中的节点的任何系统中都很重要。例如,一个作业计划程序,您经常需要在其中调整作业的优先级或取消作业。

© www.soinside.com 2019 - 2024. All rights reserved.