给算法牛人出一道题,该怎么解决

给算法牛人出一道题
  RT,我是来学习学习

题目:

文件中有10亿个整数,分成n段,n未知,每段里面数的个数在1到100之间,段里面的数是无序的,但前一段的数都比后一段小,段与段之间的界限未知,请选择效率最高的排序算法,并说服时间空间复杂度
------解决方案--------------------
每200个排序。然后交错着每200个排序。每一块必定在至少一次排序中被完全排序。已经排序的块不会被改动。所以可以到nlogm,n是10亿,m是100。
------解决方案--------------------
A:分成m=100个数据每段分别排序,o((n/m)*m*log(m))
B:每段的最小值在前一段二分找位置,最大值在后一段二分找位置,o(n/m)*2*log(m)
C:相邻段根据二分找到的位置归并排序,o(n)
为了高速缓存只扫描一遍内存,ABC应该交替循环。