- •Введение
- •Классификация методов сортировки
- •Основные методы внутренней сортировки
- •Сортировка выбором
- •Сортировка «методом пузырька»
- •Сортировка вставками
- •Улучшенная сортировка простыми вставками
- •Сортировка Шелла
- •Пирамидальная сортировка
- •Шаг 1: построение пирамиды
- •Шаг 2: сортировка
- •Быстрая сортировка
- •Разделение массива
- •Общий алгоритм
- •Модификации кода и метода
- •Поразрядная сортировка
- •Поразрядная сортировка для списков
- •Поразрядная сортировка для массивов
- •Эффективность поразрядной сортировки
- •Результаты тестирования
- •Сравнение времени сортировок
- •Методы внешней сортировки
- •Прямое слияние
- •Естественное слияние
- •Сбалансированное многопутевое слияние
- •Многофазная сортировка
- •Улучшение эффективности внешней сортировки за счет использования основной памяти
- •Библиографический список
- •Оглавление
- •Приложение Классификация методов сортировки
Улучшение эффективности внешней сортировки за счет использования основной памяти
Понятно, что чем более длинные серии содержит файл перед началом применения внешней сортировки, тем меньше потребуется слияний и тем быстрее закончится сортировка. Поэтому до начала применения любого из методов внешней сортировки, основанных на применении серий, начальный файл частями считывается в основную память, к каждой части применяется один из наиболее эффективных алгоритмов внутренней сортировки (обычно Quicksort или Heapsort), и отсортированные части (образующие серии) записываются в новый файл (в старый нельзя, потому что он последовательный).
Кроме того, конечно, при выполнении распределений и слияний используется буферизация блоков файла(ов) в основной памяти. Возможный выигрыш в производительности зависит от наличия достаточного числа буферов достаточного размера.
Библиографический список
Кнут Д. Искусство программирования для ЭВМ: В 3 томах. Т. 1. Основные алгоритмы. Москва: Издательство «Мир», 1976. 735 с.
Кнут Д. Искусство программирования для ЭВМ: В 3 томах. Т. 3. Сортировка и поиск. М.: Издательство «Мир», 1978. 844 с.
Ахо А., Хопкрофт Дж., Ульман Дж. Построение и анализ вычислительных алгоритмов. М.: Мир, 1979. 535 с.
Вирт Н. Алгоритмы + структуры данных = программы. – М.: Мир, 1985. 352 с.
Ноткин А.М. Методы внешней сортировки: Учебное пособие. – Перм. гос. техн. ун-т - Пермь, 1993. 156 с.
Hиман Т. «Краткое руководство по сортировке и поиску» http://epaperpress.com/sortsearch/russian/index.html, 9 апреля 2004 г.
Оглавление
Введение 3
1. Классификация методов сортировки 5
2. Основные методы внутренней сортировки 6
2.1. Сортировка выбором 7
2.2. Сортировка «методом пузырька» 9
2.3. Сортировка вставками 12
2.4. Улучшенная сортировка простыми вставками 14
2.5. Сортировка Шелла 15
2.6. Пирамидальная сортировка 18
2.6.1. Шаг 1: построение пирамиды 20
2.6.2. Шаг 2: сортировка 22
2.7. Быстрая сортировка 30
2.7.1. Разделение массива 30
2.7.2. Общий алгоритм 31
2.7.3. Модификации кода и метода 33
2.8. Поразрядная сортировка 36
2.8.1. Поразрядная сортировка для списков 37
2.8.2. Поразрядная сортировка для массивов 40
2.8.3. Эффективность поразрядной сортировки 42
2.8.4. Результаты тестирования 42
2.9. Сравнение времени сортировок 45
3. Методы внешней сортировки 45
3.1. Прямое слияние 47
3.2. Естественное слияние 48
3.3. Сбалансированное многопутевое слияние 49
3.4. Многофазная сортировка 54
3.5. Улучшение эффективности внешней сортировки за счет использования основной памяти 56
