请解释优先级队列中Decrease-Key和Extract-Min操作之间的关系

时间:2012-09-27 15:08:57

标签: algorithm data-structures priority-queue minimum-spanning-tree prims-algorithm

优先级队列中EXTRACT-MIN操作和DECREASE-KEY操作之间的关系是什么?我在讲座中遇到了使用Prim算法的最小跨度问题。

麻省理工学院的教授refers to it at point 01:07:16 seconds in the video,但我没有得到它。有人可以为我解决这个问题吗?

P.S:我对我对优先级队列的理解感到满意。

1 个答案:

答案 0 :(得分:2)

这个序列:

DECREASE-KEY(node, -infinity)
EXTRACT-MIN

有一个简单的含义:

DELETE-KEY(node)

它基本上做的是确保某个节点到达队列的顶部然后将其删除。

在Prim的算法中,DECREASE-KEY用于更新尚未包含在树中的节点的权重。因此,一个被认为太远的节点现在可能更接近队列的顶部(因此会更快地EXTRACT-MIN。)

我现在无法观看视频,但我的猜测是,教授的意思是DECREASE-KEY增加了节点被EXTRACT-MIN编辑的机会,实际上是用于同样的原因,因此也是一种关系。