我有一个5gig的文本文件需要按字母顺序排序什么是最好的算法?
限制:
速度 - 尽可能快
内存 - 运行Windows XP的1 Gig Ram的Pc
对于文本文件,sort
至少Linux和其他版本中的GNU Coreutils版本的工作速度惊人.
看看在--buffer-size
功能和相关选项,并设置--temporary-directory
如果你的/tmp
目录太小.
或者,如果您真的担心可能需要多长时间,可以将文件拆分为较小的块,然后单独排序,然后将它们合并在一起(带sort --merge
).对每个块进行排序可以在不同的系统上并行完成.