【发布时间】:2016-09-20 04:28:20
【问题描述】:
我想到的算法是
- 保留大小为 K 的 MaxHeap
- 插入每个元素
- 如果堆已满,则丢弃较小的值
- 最终Kth max是MaxHeap中较小的一个
这会给我 O(NlogK)。有更好的算法吗?我无法快速选择,因为数组无法存储在内存中。
【问题讨论】:
-
@Henk Holterman:数组不能存储在内存中的要求使其不是该答案的副本。
标签: arrays algorithm selection space-complexity