实现一个队列,其中push_rear(),pop_front()和get_min()都是常量时间操作
我遇到了这个问题: 实现一个队列,其中push_rear(),pop_front()和get_min()都是常量时间操作。
我最初想过使用一个最小堆数据结构,它对于get_min()具有O(1)复杂度。但是push_rear()和pop_front()将是O(log(n))。
有谁知道实现这样一个有O(1)push(),pop()和min()的队列的最佳方法是什么?
我搜索了这个,并想指出这个算法极客线程。但似乎没有一个解决方案遵循所有3种方法的恒定时间规则:push(),pop()和min()。
感谢所有的建议。
梦里花落0921