当您插入频率是删除频率的两倍时,哪种优先级队列实现具有最佳运行时间。
我正在看这个问题哪个优先级队列在实践中更快?但是OP更关心获取最小值而不是插入。我也对斐波那契堆进行了一些挖掘,但发现只有当插入次数少于分钟数时它们才会更好。 Brodal 队列看起来也很快,但我不确定它们在实践中是否高效。
一些实现:
或者甚至可能是桶装? 实践中最快的是什么?谢谢。
这个问题可能不适合SO范围。
但是回应你,对于频繁插入的优先级队列(是删除次数的两倍),配对堆可能是最好的选择。
配对堆的插入时间为 O(1),删除时间为 O(log n)。
斐波那契堆在频繁插入时也表现良好,但它们在实践中会带来更多开销。