我需要能够对多个中间结果集进行排序,并按排序顺序将它们输入到文件中.排序基于单个列/键值.每个结果集记录将是值列表(如表中的记录)
我的解决方案广泛:
使用哈希和随机访问文件.由于结果集已经排序,因此在检索结果集时,我将已排序的列值存储为散列映射中的键.散列映射中的值将是随机访问文件中的一个地址,其中与该列值关联的每个记录将存储.
有任何想法吗 ?
指向每个集合的指针,最初指向第一个条目
然后从集合中选择下一个结果,该结果提供最低的条目
将此条目写入文件并递增相应的指针
这种方法基本上没有开销,时间是O(n).(这是Merge-Sort,顺便说一句)
澄清一下:它是合并排序的合并部分.
| 归档时间: |
|
| 查看次数: |
288 次 |
| 最近记录: |