Здравствуйте, makdak, Вы писали:
M>вот:
M>M>Имеется 1TB файл состящий из целых чисел (одно число на строку). Как отсортировать этот файл самым быстрым образом, если есть только 2GB памяти?
M>
что-то тут набросали ключевые слова и даже фамилии, а паззл лично у меня не сложился
давайте уточним задачу, а потом набросайте хоть примерную идею решения
1) есть текстовый файл размером 1TB (ну я бы сказал
не более 1TB), в котором целые числа, умещающиеся в 32 бита перечислены в десятичном представлении. на каждой строке — одно число. между строками — newline (виндовый или линуксовый)
2) нужно
в этом файле попереставлять строки так, чтобы числа были отсортированы (без ограничения общности, по возрастанию). то есть inplace
3) есть ограничение на рабочую память проги — 2GB. не забываем, что кроме огромного массива на 2GB могут быть еще рабочие переменные, так что огроменным массивом, который в точности занимает 2GB нам пользоваться нельзя. сколько там занимает рантайм нам побоку, считаем лишь рабочую память нашего алгоритма
не надо только отсылать к чтению томов Кнута, спасибо