摘要: 输入:所输入的文件,至多包含n个正整数,每个正整数都小于n,题目中n = 10^7,如果输入时某个正整数重复出现俩次,就会产生致命的错误,这些整数,与其他任何数据都不相关.输出:以增序形式输出经过排序的整数列表约束至多只有1MB(包括程序本身)可用的主存,但是可以用的磁盘空间是充足的,运行时间至多几分钟,10秒针是最适宜的运行时间.作者第一个方案使用基于磁盘的合并排序.将每个号码用32位整数表示,可以在1MB的空间里存储250000个号码,使用一个带有40个通道的程序,在第一个通道中将前250000的任意整数读入内存,并对它们进行排序,可以使用高效的快速排序,但是完成整个任务,我们要牺牲读文件 阅读全文
posted @ 2011-02-24 11:29 abstractwind 阅读(573) 评论(0) 推荐(0) 编辑