Содержание
- 2. Находим в массиве наибольший элемент и помещаем его в буфер Сдвигаем правую часть массива на одну
- 3. Находим в массиве второй по величине элемент и помещаем его в буфер Сдвигаем правую часть массива
- 4. К-ый элемент Далее процесс повторяется до расположения к-го по величине элемента на нужном месте К-ый элемент
- 5. В массиве задаем опорный элемент “P1” Просматриваем массив слева направо, располагая элементы меньшие P1 слева от
- 6. В оставшейся части массива задаем опорный элемент “P2” Просматриваем массив слева направо, располагая элементы меньшие P2
- 7. Продолжаем этот процесс. Возможны два варианта завершения: На очередной итерации опорный элемент Pi располагается на К-ой
- 8. Алгоритмы сортировки Есть последовательность , ... и функция сравнения, которая на любых двух элементах последовательности принимает
- 9. Возможна ситуация, когда элементы состоят из нескольких полей: Если значение функции сравнения зависит только от поля
- 10. Критерии эффективности работы алгоритмов Время сортировки - основной параметр, характеризующий быстродействие алгоритма. Память - ряд алгоритмов
- 11. Устойчивость - устойчивая сортировка не меняет взаимного расположения равных элементов. Расположение дополнительных полей "a", "b", "c"
- 12. Естественность поведения - эффективность метода при обработке уже отсортированных, или частично отсортированных данных. Алгоритм ведет себя
- 13. Сравнение времени сортировок коричневая линия: сортировка пузырьком; синяя линия: шейкер-сортировка; розовая линия: сортировка выбором; желтая линия:
- 14. Быстрая сортировка Метод основан на подходе "разделяй-и-властвуй". Общая схема такова: из массива выбирается некоторый опорный элемент
- 15. Разделение массива На входе массив a[0]...a[N] и опорный элемент p, по которому будет производиться разделение. Введем
- 16. Исходный массив Первый обмен Второй обмен 6 5 3 9 1 8 4 5 7 4
- 17. Третий обмен Четвертый обмен Конечный результат 6 5 3 9 1 8 7 9 7 4
- 18. Конечный результат Разделённые массивы Для разделённых массивов процедура повторяется 1 5 3 6 9 8 7
- 19. Общее быстродействие метода - хорошее. Метод неустойчив. Поведение довольно естественно, если учесть, что при частичной упорядоченности
- 20. Сортировка слиянием Сортировка слиянием также построена на принципе "разделяй-и-властвуй", однако реализует его несколько по-другому, нежели быстрая
- 21. Рекурсивный алгоритм обходит получившееся дерево слияния в прямом порядке. Каждый уровень представляет собой проход сортировки слияния
- 22. Исходный массив Первый проход – пары Второй проход – четвёрки 3 7 2 8 4 6
- 23. Третий проход – восьмёрки Процесс слияния в буфер 2 3 7 8 1 4 5 6
- 25. Скачать презентацию