我遇到了这样一个问题: 实现一个队列,其中 push _ behind ()、 pop _ front ()和 get _ min ()都是常量时间操作。
我最初考虑使用一个最小堆数据结构,它对 get _ min ()具有 O (1)复杂性。但 push _ behind ()和 pop _ front ()将是 O (log (n))。
有人知道实现这样一个具有 O (1) push ()、 pop ()和 min ()的队列的最佳方法是什么吗?
我谷歌了一下,想指出这个 算法极客帖子。但是似乎没有一个解决方案对于所有3种方法都遵循常量时间规则: push ()、 pop ()和 min ()。
谢谢你的建议。