Re: Алгоритмы сортировк
- From
- Anatoly Saveliev ()
- To
- Vlad Salikov
- Date
- 2002-12-13T08:42:59Z
- Area
- RU.ALGORITHMS
From: Anatoly Saveliev <Anatoly.Saveliev@ksu.ru>
Vlad Salikov wrote:
> Имеем dbf-файл (телефонный справочник с полями TEL, FIO, ADRES) размером
> 2,8Мб. Имеется свободная оперативная память размером около 700Кб. Задача
> Создать-то я их создам, но как их сортировать в условиях острой нехватки
> памяти? На диске - долго, хочется побыстрее, да и винт жалко. :^)
Вот помню сортировали мы большие файлы на ДВК (там вся память 64К), так
просто нарезали их на куски, отсортировали куски в памяти, потом сливали
на диск пирамидой (так делали раньше на ленточных нокопителях - для
слияния двух имеющихся на диске файлов, читаем из них по одной записи,
выводим меньшую, и "подкачиваем" на ее место новую; если записи
кончились - выводим остаток второго файла).
Число слияний - log2(число кусков), так что и диск не вспотеет.
Наконец, если вывалить в виде текстовой таблицы в файл, то программа
sort от de'Billa сделает все описанное сама.
Анатолий Савельев
Казанский университет
--- ifmail v.2.15dev5
* Origin: MELT InterNetNews site (2:5020/400)