标签: algorithm sorting ranking
假设我有一个多行字符串的文件,如何按字典顺序对字符串行进行排名?
详细信息:
我能弄清楚的是外部合并排序,对于这个指定的问题有没有更好的想法?
答案 0 :(得分:2)
文件大小和内存之间的差异并不大,因此我建议根据第一个字母将文件拆分为更小的文件 - 或者如果不够,请使用前两个字母。
然后你可以用快速排序对它们进行排序并保存,然后将它们分类,你可以将它们重新组合在一起。
它仍然是O(N)I / O操作和O(n * log(N))CPU操作。
PS:外部合并排序也很好。