Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Структуры и алгоритмы / Сортировка_Основные алгоритмы.doc
Скачиваний:
113
Добавлен:
23.02.2015
Размер:
679.94 Кб
Скачать
    1. Улучшение эффективности внешней сортировки за счет использования основной памяти

Понятно, что чем более длинные серии содержит файл перед началом применения внешней сортировки, тем меньше потребуется слияний и тем быстрее закончится сортировка. Поэтому до начала применения любого из методов внешней сортировки, основанных на применении серий, начальный файл частями считывается в основную память, к каждой части применяется один из наиболее эффективных алгоритмов внутренней сортировки (обычно Quicksort или Heapsort), и отсортированные части (образующие серии) записываются в новый файл (в старый нельзя, потому что он последовательный).

Кроме того, конечно, при выполнении распределений и слияний используется буферизация блоков файла(ов) в основной памяти. Возможный выигрыш в производительности зависит от наличия достаточного числа буферов достаточного размера.

Библиографический список

  1. Кнут Д. Искусство программирования для ЭВМ: В 3 томах. Т. 1. Основные алгоритмы. Москва: Издательство «Мир», 1976. 735 с.

  2. Кнут Д. Искусство программирования для ЭВМ: В 3 томах. Т. 3. Сортировка и поиск. М.: Издательство «Мир», 1978. 844 с.

  3. Ахо А., Хопкрофт Дж., Ульман Дж. Построение и анализ вычислительных алгоритмов. М.: Мир, 1979. 535 с.

  4. Вирт Н. Алгоритмы + структуры данных = программы. – М.: Мир, 1985. 352 с.

  5. Ноткин А.М. Методы внешней сортировки: Учебное пособие. – Перм. гос. техн. ун-т - Пермь, 1993. 156 с.

  6. 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

Приложение Классификация методов сортировки

23