【发布时间】:2012-07-27 06:49:24
【问题描述】:
我正在为面试练习这个问题。
将在最短的时间内实现以下 3 个操作的最佳数据结构::
a.) insertion.
b.) removing the oldest element.
c.) printing the largest element.
我能想到的最好的是最小/最大堆或优先级队列。对于操作 (a) 和 (c) ,堆是有效的,但我不确定,第二个操作“删除最旧的元素”可以使用堆有效地完成。
所以建议一个理想的数据结构,可以有效地实现所有 3 个操作。
谢谢!
【问题讨论】:
-
关于编程和一般数据结构的概念性问题也可以在programmers.stackexchange.com 上提问。
-
删除最旧的元素是什么意思?这里的老是指什么?在某种意义上它也是一个最小/最大元素
-
@arunmoezhi 我认为他的意思是首先插入到数据结构中所有元素之间的元素。
-
问题仍然不清楚。这些操作的频率是多少。
-
O(1) 中的所有内容:stackoverflow.com/questions/4802038/…