Слайд 2
![Цель работы: изучить основные алгоритмы построения пирамидальной и пузырьковой сортировок.](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/81042/slide-1.jpg)
Цель работы: изучить основные алгоритмы построения пирамидальной и пузырьковой сортировок. Ознакомится
опытным путем с преимуществами и недостатками данных алгоритмов.
Задачи: разработать и реализовать на языке программирования Си алгоритмы пирамидальной и пузырьковой сортировок; для данных алгоритмов дать характеристику и построить структурные схемы согласно ГОСТ 19.701-90
Слайд 3
![Пирамидальная сортировка Пирамидальная сортировка — алгоритм сортировки, работающий в худшем,](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/81042/slide-2.jpg)
Пирамидальная сортировка
Пирамидальная сортировка — алгоритм сортировки, работающий в худшем, в среднем
и в лучшем случае (то есть гарантированно) за Θ(n log n) операций при сортировке n элементов. Количество применяемой служебной памяти не зависит от размера массива (то есть, O(1)).
Алгоритм пирамидальной сортировки можно рассматривать как улучшенную версию алгоритма сортировки выбором: он делит входные данные на отсортированную и несортированную области, а затем последовательно уменьшает несортированную область, извлекая самый большой элемент и перемещая его в сортированную область. Улучшение состоит в том, что используется бинарная куча, а не алгоритм линейного поиска, чтобы найти наибольшее значение.
Слайд 4
![Пирамидальная сортировка](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/81042/slide-3.jpg)
Слайд 5
![Достоинства и недостатки Достоинства: · Имеет доказанную оценку худшего случая](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/81042/slide-4.jpg)
Достоинства и недостатки
Достоинства:
· Имеет доказанную оценку худшего случая O(n log n).
·
Требует всего O(n log n) дополнительной памяти.
Недостатки:
· Сложен в реализации.
· Неустойчив -- для обеспечения устойчивости нужно расширять ключ.
· На почти отсортированных массивах работает столь же долго, как и на хаотических данных.
· На одном шаге выборку приходится делать хаотично по всей длине массива -- поэтому алгоритм плохо сочетается с кэшированием и подкачкой памяти.
Слайд 6
![Код программы](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/81042/slide-5.jpg)
Слайд 7
![Структурная схема алгоритма пирамидальная сортировка](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/81042/slide-6.jpg)
Структурная схема алгоритма пирамидальная сортировка
Слайд 8
![Оценка сложности Алгоритм сортировки работает в худшем, в среднем и](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/81042/slide-7.jpg)
Оценка сложности
Алгоритм сортировки работает в худшем, в среднем и в лучшем
случае (то есть гарантированно) за O(n log n) операций при сортировке n элементов. Количество применяемой служебной памяти не зависит от размера массива (то есть, O(1)).
Слайд 9
![Сортировка пузырьком Сортировка пузырьком — простой алгоритм сортировки. Для понимания](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/81042/slide-8.jpg)
Сортировка пузырьком
Сортировка пузырьком — простой алгоритм сортировки. Для понимания и реализации
этот алгоритм — простейший, но эффективен он лишь для небольших массивов. Сложность алгоритма: O(n2).
Принцип действий прост: обходим массив от начала до конца, попутно меняя местами неотсортированные соседние элементы. В результате первого прохода на последнее место «всплывёт» максимальный элемент. Теперь снова обходим неотсортированную часть массива (от первого элемента до предпоследнего) и меняем по пути неотсортированных соседей. Второй по величине элемент окажется на предпоследнем месте. Продолжая в том же духе, будем обходить всё уменьшающуюся неотсортированную часть массива, запихивая найденные максимумы в конец.
Слайд 10
![Сортировка пузырьком](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/81042/slide-9.jpg)
Слайд 11
![Достоинства и недостатки Достоинство метода: не требуется дополнительных массивов Недостаток:](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/81042/slide-10.jpg)
Достоинства и недостатки
Достоинство метода: не требуется дополнительных массивов
Недостаток: время алгоритма пропорционально
квадрату количества элементов (самый медленный способ сортировки)
Слайд 12
![Код программы](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/81042/slide-11.jpg)
Слайд 13
![Структурная схема алгоритма пирамидальная сортировка](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/81042/slide-12.jpg)
Структурная схема алгоритма пирамидальная сортировка
Слайд 14
![Оценка сложности Алгоритм сортировки работает в худшем, в среднем за](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/81042/slide-13.jpg)
Оценка сложности
Алгоритм сортировки работает в худшем, в среднем за O(n2), в
лучшем случае за O(n) операций при сортировке n элементов.