相关疑难解决方法(0)

始终保持n个最佳元素的数据结构

我需要一个始终包含n迄今为止插入的最大项目的数据结构(没有特定的顺序).

所以,如果n是3,我们可以进行以下会话,其中插入一些数字并且容器的内容发生变化:

[]  // now insert 1
[1] // now insert 0
[1,0] // now insert 4
[1,0,4] // now insert 3
[1,4,3] // now insert 0
[1,4,3] // now insert 3
[4,3,3]
Run Code Online (Sandbox Code Playgroud)

你明白了.数据结构的名称是什么?实现这个的最佳方法是什么?或者这是在一些图书馆?

我想使用一个容器,它有一个priority_queuefor元素(委托),它使用反向比较,因此pop将删除最小的元素.因此该insert函数首先检查要插入的新元素是否大于最小元素.如果是这样,我们抛出最小的并推动新元素.

(我有一个C++实现,但问题是与语言无关.)

language-agnostic priority-queue data-structures

8
推荐指数
2
解决办法
2528
查看次数