m******2 发帖数: 252 | 1 如何从一个很大的数组中找出最大的100个来?看到好几个地方都说可以用,max-heap
,谁能说说具体怎么操作的?
如果现在有个大小为100的max-heap, 当一个新的元素进来的时候,怎样才能保证最小
的那一个最踢掉?谢谢 | h**6 发帖数: 4160 | 2 这个应该可以用最小堆表示吧。
首先存100个数,如果新数比最小的还小,就不用管,否则把最小的踢掉,新数入堆。 | m******2 发帖数: 252 | 3 有理,看来我原来记反了。。应该找最大100个的时候用min-heap, 找最小100个的时候
用max-heap。多谢指教
【在 h**6 的大作中提到】 : 这个应该可以用最小堆表示吧。 : 首先存100个数,如果新数比最小的还小,就不用管,否则把最小的踢掉,新数入堆。
|
|