获取第k个最大值的许多查询的数据结构

时间:2017-04-17 20:15:20

标签: algorithm data-structures

我试图解决问题,其中说明:制作支持的数据结构:

1)添加带键k的元素

2)用键k删除元素

3)在数据结构中打印第k个最大元素

我认为maxheap应该可以工作,但是在这种情况下我们需要从堆中删除第一个k-1最大值以获得第k个最大元素,因此它不会在这里工作。

我如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

你可以使用order statistic tree来解决这个问题,{{3}}是一个(平衡的)二叉树,它允许你在平衡树的log(n)时间内找到第i个最小(或最大)的元素。