你现在有一个文件,文件中顺序存有N个记录,R1,R2,...,RN,这些记录不是有序的,但是你知道一个整数M,这些记录满足R1<R2<...<RM以及RM+1<RM+2<...RN.
1,设计一个算法或编写一个程序,将文件中的记录排序为R1'<R2',<…<,RN',算法或程序读取文件的次数为O(N),不限内存使用,
2,
设计一个算法或编写一个程序,将文件中的记录排序为
R1'<R2'<...<RN',
算法或程序读写文件的次数为
O(N)
,空间复杂度为
O(1)
,
(
亦即,你使用的内存大小和
M,N
均无关。
)
1.就是两个有序数组的合并了,时间复杂度确实是O(N),好说
2.第一个限制空间, or 内存不够时就是外部排序了.主要就是读写文件了.