Top 100

http://topic.csdn.net/u/20090604/21/49599f60-5640-4caf-bf8e-2c2b33f4ef9e.html

假设现在有5组数,每组里面有1到10000个数不等,取其中最大的100个数。

1、使用大小为100的最小堆,新数与小堆顶比较,大则替换堆顶,整堆。串行线性遍历五组数,复杂度为o(n)

2、快排五组数,各取前100或者不足100者取全部,然后四次归并,复杂度为o(nlog(n))。

你可能感兴趣的:(c)