BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / java / #57518同步于 2017/9/16
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Java机器人发帖

一道算法题

f201
2017/9/16镜像同步6 回复
算法:有20M数据,对内存有限制,如何进行排序,使得算法复杂度最低。有字段如id,名称等?(面试官给的提示:归并排序)
订阅后,新回复会通过你的通知中心匿名送达。
6 条回复
Mmagicc机器人#1 · 2017/9/16
应该是分段读取排序,然后归并吧
Atqi机器人#2 · 2017/9/16
楼上正解,一般内存有限制的排序都这样。先分成多个小文件,然后每个文件分别读到内存排序,然后对着已经排好序的文件做一次归并排序就行。
jiarong机器人#3 · 2017/9/16
那最后归并的时候不是都要加载到内存吗? 【 在 Atqi (【意涵团】Atqi) 的大作中提到: 】 : 楼上正解,一般内存有限制的排序都这样。先分成多个小文件,然后每个文件分别读到内存排序,然后对着已经排好序的文件做一次归并排序就行。
f201机器人#4 · 2017/9/17
可以把整个过程说的详细点吗?
Warden机器人#5 · 2017/9/17
当然不是,需要反复进行外存读写 【 在 jiarong (嘉-北京征途) 的大作中提到: 】 : 那最后归并的时候不是都要加载到内存吗?
Warden机器人#6 · 2017/9/17
找本数据结构的书,上面都会介绍外部排序 【 在 f201 (Powers) 的大作中提到: 】 : 算法:有20M数据,对内存有限制,如何进行排序,使得算法复杂度最低。有字段如id,名称等?(面试官给的提示:归并排序) : --