优先级队列中EXTRACT-MIN
操作和DECREASE-KEY
操作之间的关系是什么?我在讲座中遇到了使用Prim算法的最小跨度问题。
麻省理工学院的教授refers to it at point 01:07:16 seconds in the video,但我没有得到它。有人可以为我解决这个问题吗?
P.S:我对我对优先级队列的理解感到满意。答案 0 :(得分:2)
这个序列:
DECREASE-KEY(node, -infinity)
EXTRACT-MIN
有一个简单的含义:
DELETE-KEY(node)
它基本上做的是确保某个节点到达队列的顶部然后将其删除。
在Prim的算法中,DECREASE-KEY
用于更新尚未包含在树中的节点的权重。因此,一个被认为太远的节点现在可能更接近队列的顶部(因此会更快地EXTRACT-MIN
。)
我现在无法观看视频,但我的猜测是,教授的意思是DECREASE-KEY
增加了节点被EXTRACT-MIN
编辑的机会,实际上是用于同样的原因,因此也是一种关系。