【发布时间】:2011-11-22 13:12:25
【问题描述】:
我有一个需要定期更新的项目集合。这些物品的重要性在于,有些物品必须比其他物品更频繁地维修。但是,我必须在特定时间内为所有项目提供服务(即我不希望有项目最终永远不会被处理)。
如果所有项目的权重相同,那么一个简单的 FIFO 就足够了。但是更高优先级的需要能够切入,因此我认为指示了优先级队列。问题是,什么决定了优先级?我认为这是一个权重函数,以及自上次维修以来的时间。但是如何确定该函数的形式,以便没有项留在堆的底部?
【问题讨论】: