海量数据排序,不能一次读入内存的问题,求指教

如题,海量数据排序,内存小的情况。
查了资料目前想了两种处理方式:
1、首先将大文件分为多个小文件,对每个小文件进行排序,排序完之后进行外部排序。采用多路归并,维护一个小顶堆,每次把堆顶写入磁盘,然后再从原堆顶之前所在的小文件中取下一个数,完成排序。
2、第一次遍历找出最大值和最小值,用桶排序,维护多个桶(这些桶就是多个小文件),再次遍历数据,将数据放入对应的桶中,最后把小文件合成大文件,完成排序。

求指点下这些方法可行性如何~
全部评论
@向宇同桌  求叶神解答一下~~
点赞 回复 分享
发布于 2017-09-09 10:26
bitmap~建议看看梦见这个公众号,很赞的
点赞 回复 分享
发布于 2017-09-08 06:22
m
点赞 回复 分享
发布于 2017-09-08 01:00
https://dev.mysql.com/doc/refman/5.7/en/order-by-optimization.html mysql order by的优化: 内存buffer快排->写临时文件->多路归并临时文件
点赞 回复 分享
发布于 2017-09-08 00:38
位图的方法
点赞 回复 分享
发布于 2017-09-08 00:33

相关推荐

AAA专业长城贴瓷砖刘大爷:这样的简历我会直接丢进垃圾桶,花里胡哨的
点赞 评论 收藏
分享
评论
点赞
50
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务