admin 发表于 2014-9-25 08:34:22

一亿数据获取前100/1000个最大值

3秒搞定!~~ 一亿数据获取前100/1000个最大值

整合网络上的算法。 根据我的思路。计算一亿个数字中最大的前100个值。

昨晚效率还是很低。 今天搞的算法。 只需要3秒钟。 获取前100个 前1000个 速度都非常快。


算法原理:

把一亿个数字的前100个 首先放入数组。 然后把最小值放在ary。

然后再,循环100到一亿 之间的。 每次循环判断当前数字是否大于ary

当大于时,当前数字放入ary 并再次重构数组最小值进入ary以此类推 。

当循环完这一亿个数字后。 最大的前100个数字就出来了。

古韵典藏 发表于 2015-1-6 11:33:36

岂不是要循环一亿次?

utopialxw 发表于 2015-1-13 17:20:45

和 堆排序 比起来效率如何?
看了你的原理就是堆排序呀
页: [1]
查看完整版本: 一亿数据获取前100/1000个最大值