сортировать огромный массив - PullRequest
3 голосов
/ 24 февраля 2011

что является лучшим способом сортировки огромного массива.скажем, у меня 1G RAM, массив 16G.Какой самый эффективный способ сделать это?У меня достаточно диска для файлов.

Ответы [ 2 ]

16 голосов
/ 24 февраля 2011

Разделить на куски и отсортировать 512 МБ за раз в 32 файла.Затем выполните потоковую сортировку слиянием файлов в один файл.

4 голосов
/ 24 февраля 2011

Если это массив целых чисел, вы можете обойтись с помощью простой сортировки по основанию (O(n)) и почти не использовать ОЗУ.Первый вопрос будет: «Что это за данные?».Если это произвольные данные, тогда, вероятно, лучшим вариантом будет внешняя сортировка.

-tjw

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...