代码改变世界

随笔档案-2012年5月28日

如何给10^7个数据量的磁盘文件排序

2012-05-28 16:05 by javaspring, 849 阅读, 收藏,
摘要: 原文地址http://blog.csdn.net/v_JULY_v/article/details/6451990第一节、如何给磁盘文件排序问题描述:输入:一个最多含有n个不重复的正整数(也就是说可能含有少于n个不重复正整数)的文件,其中每个数都小于等于n,且n=10^7。输出:得到按从小到大升序排列的包含所有输入的整数的列表。条件:最多有大约1MB的内存空间可用,但磁盘空间足够。且要求运行时间在5分钟以下,10秒为最佳结果。分析:下面咱们来一步一步的解决这个问题,1、归并排序。你可能会想到把磁盘文件进行归并排序,但题目要求你只有1MB的内存空间可用,所以,归并排序这个方法不行。2、位图方案。 阅读全文