相关疑难解决方法(0)

在O(1)时间内支持Min,Max操作的队列的正确数据结构是什么?

支持Enque,Dequeue,Peak,Min和Max操作的队列的正确数据结构是什么,并在O(1)时间内执行所有这些操作.

最明显的数据结构是链表,但Min,Max操作将是O(n).Priority Queue是另一个完美的选择,但Enqueue,Dequeue应该以Queue的正常方式工作.(FIFO)

想到的另一个选项是Heap,但是我无法弄清楚如何使用Heaps设置具有Min,Max操作的队列.

任何帮助深表感谢.

heap queue

15
推荐指数
2
解决办法
1618
查看次数

用于有效返回哈希表的前K个条目的数据结构(地图,字典)

这是一个描述:

它的操作类似于带有get,putremove方法的常规地图,但有一种getTopKEntries(int k)获取前K个元素的方法,按键排序:

对于我的具体使用情况下,我添加,删除,并在结构调整很多价值观,但在任何一个时间有大约500-1000元; 我想有效地返回前10个键的条目.

  • 我所说的putremove方法的许多倍.
  • 我叫这个getTopKEntries方法.
  • 我多次调用putremove方法.
  • 我叫这个getTopKEntries方法.
  • ...

我希望为O(1) get,putremove运营,并getTopKEntries以仅取决于K,没有在地图的大小.

那么有效返回地图的前K个元素的数据结构是什么?

我的另一个问题是类似的,但是用于返回地图的所有元素,按键排序.

如果有帮助,则键和值都是4字节整数.

hash sorted hashmap map data-structures

6
推荐指数
1
解决办法
2277
查看次数

标签 统计

data-structures ×1

hash ×1

hashmap ×1

heap ×1

map ×1

queue ×1

sorted ×1