Алгоритм внешней сортировки предназначен для работы с большими объёмами данных, которые не помещаются в оперативную память. 13
В основе большинства методов внешних сортировок лежит процедура слияния и распределения: 3
- Слияние — объединение двух (или более) упорядоченных серий в одну упорядоченную последовательность при помощи циклического выбора элементов, доступных в данный момент. 3
- Распределение — разделение упорядоченных серий на два и более вспомогательных файла. 3
Общий алгоритм сортировки слиянием: 3
- Серии распределяются на два или более вспомогательных файлов. 3 Распределение идёт поочерёдно: первая серия записывается в первый вспомогательный файл, вторая — во второй и так далее до последнего вспомогательного файла. 3 Затем опять запись серии начинается в первый вспомогательный файл. 3
- После распределения всех серий, они объединяются в более длинные упорядоченные отрезки. 3 Из каждого вспомогательного файла берётся по одной серии, которые сливаются. 3 Если в каком-то файле серия заканчивается, то переход к следующей серии не осуществляется. 3
- В зависимости от вида сортировки сформированная более длинная упорядоченная серия записывается либо в исходный файл, либо в один из вспомогательных файлов. 3
- После того как все серии из всех вспомогательных файлов объединены в новые серии, потом опять начинается их распределение. 3 И так до тех пор, пока все данные не будут отсортированы. 3
Внешняя сортировка применяется, например, для сортировки таблиц по определённому столбцу. 4