具有恒定时间推送和弹出的自定义数据结构

时间:2013-07-28 02:35:27

标签: algorithm data-structures

我最近在接受采访时得到了这个问题:
设计支持2种操作的数据结构:
1.推(N) - 存储一个数字
2. popmin() - 提取所有存储数字的当前最小值并将其从存储中删除

push和popmin都必须在O(1)时间内执行。

起初我想过使用2个堆栈,但只允许获得最小数量,而不是删除它。
有什么想法吗?

1 个答案:

答案 0 :(得分:0)

有很多heaps允许在O(1)中插入和查找min。问题是删除min需要O(log N)。这似乎意味着任何信息都缺失或不正确。