大量字串的排序问题。可能不一定有解# JobHunting - 待字闺中
e*9
1 楼
假设有1M个字串,字串的平均长度1MB,需要对这些字串做排序。
因为字串会有变动,而且对排序速度有要求,所以基于写文件的merge sort不适用。
如果直接load到内存,至少需要1TB的内存。
之前想到的是算每个字串的hash值,然后直把hash load到内存中做树或者堆排序,这
样可以减少内存的消耗。但是一般的hash函数会改变原来的排序,所以这个地方会有问题
有没有什么比较好的排序方式?
因为字串会有变动,而且对排序速度有要求,所以基于写文件的merge sort不适用。
如果直接load到内存,至少需要1TB的内存。
之前想到的是算每个字串的hash值,然后直把hash load到内存中做树或者堆排序,这
样可以减少内存的消耗。但是一般的hash函数会改变原来的排序,所以这个地方会有问题
有没有什么比较好的排序方式?