【发布时间】:2011-09-01 17:30:35
【问题描述】:
我有一个相当大的元素列表(数千个)。
我有一个可以接受或不接受元素的过滤器。
我想要前 100 个满足过滤器的元素。
到目前为止,我已经先对结果进行了排序,然后取出了满足过滤器的前 100 个。这背后的基本原理是过滤器并不完全快速。
但是现在,排序步骤比过滤步骤花费的时间更长,所以我想以某种方式将它们组合起来。
是否有一种算法可以结合排序/过滤的关注点,以获得满足过滤器的前 100 个结果,而不会产生对所有元素进行排序的成本?
【问题讨论】:
-
不排序如何定义“top”?
-
@dlev:你仍然需要排序......如果你知道你只需要几个“最高”值。
标签: performance algorithm sorting filter