0
以下示例说明了我需要的内容。说下雨了,我在镇上放了许多桶来收集水。我不知道他们填满的速度,而且他们收集水的速度有所不同。我不想让人溢出,因为那时我失去了水。所以,如果我遇到桶并且已满,我想很快再次访问它,因为它显然会获得更多的水。如果我来到一个桶,它不是很满,我不想访问它一段时间,但我最终确实。新近度是次要优先级的优先级队列?
因此,让我们说,当我访问一个桶时,我会得到两条信息。它有多满(0到1之间),以及当前时间(自POSIX时代以来的时间)。
我不是在寻找最佳答案(最佳指的是解决方案,而不是算法)。我只是在寻找一个简单的解决方案,可能是基于堆的,比再次访问之前天真地访问每一桶更好。我想重新访问更经常填充更快的桶。
我也不想无限期地忽视缓慢加油的桶,而过度参加快速加油桶。
由于
你看桶的成本是多少?看着他们需要时间从你? – Lrrr 2014-11-22 14:14:02
是的,有一个小的成本。看一个桶是一个稍微昂贵的I/O限制任务。 – user3391564 2014-11-22 20:54:55