Похожие презентации:
Алгоритмы
1.
Алгоритмы2.
ПланСортировка
Сортировка парными перестановками
Сортировка пирамидой?
Быстрая сортировка
Оценка скорости алгоритма
3.
СортировкиМотивировка
Что такое сортировка?
Зачем сортировать данные?
Каковы преимущества работы с
сортированными данными?
Где применяются сортировки?
4.
Сортировка выбором: интуитивнаясортировка
Логика сортировки состоит в том, что бы искать минимальный
элемент и отделяется в отсортированную часть. Потом ищется
следующий минимальный элемент и т.д.
5.
Сортировка выбором6.
Сортировка вставкамиПри
сортировке
вставками
из
неупорядоченной
последовательности поочерёдно выбирается каждый элемент,
сравнивается с предыдущим, уже упорядоченным и помещается
на соответствующее место.
7.
Сортировка вставками8.
Сортировки вставками: анализХарактеристики алгоритма:
Input size (размер входа) – количество
элементов массива, количество байт,
количество рёбер и вершин…
Running time (время работы) – количество
элементарных шагов.
Memory size – количество памяти
используемое для проведения сортировки
9.
Сортировка вставками: время работы10.
Сортировка вставками: время работыВремя выполнения алгоритма зависит не
только от размера входных данных, но и от его
их упорядоченности.
Сортировка вставками имеет лучший случай,
когда массив уже отсортирован т.к. цикл на 5
строке будет завершаться после 1 итерации и
худший когда он отсортирован в обратной
последовательности.
11.
Сортировка вставками: время работыОбщий случай
Лучший случай
12.
Сортировка вставками: времяработы
Худший случай
13.
Оценка времени работы алгоритмаДля оценки алгоритма используют время работы
в худшем случае:
– Зная время работы в худшем случае мы можем
гарантировать время окончания работы независимо
от конкретного входа
– На практике стоит оценивать количество худших
случаев, но не забывать о том, что из-за разницы в
случае разница во времени может быть очень велика
– Время работы в среднем случае очень часто
стремится к времени работы в худшем случае
14.
Порядок роста времени работы~
~
15.
Сортировка слияниемИдея метода заключается на принципе «разделяй и властвуй». Другими
словами массив делится на два массива до тех пор, пока не будет разбит на
пары элементов(или 1 элемент, если количество элементов нечётное).
После чего элементы массивов попарно сравниваются и формируют
отсортированный массив двойной длины.
Цикл слияния выполняется до тех пор пока все части массива не будут
объединены в один массив, который будет отсортирован.
16.
Сортировка слияниемЧто
бы
отсортировать
Merge-sort(Arr,1, Arr.length)
весь
массив
необходимо
вызвать
метод
17.
Сортировка слиянием: анализ алгоритмаПроблема оценки сортировки слиянием
заключается в рекурсивности алгоритма.
Необходимо учитывать время затрачиваемое
на рекурсивные вызовы, поэтому необходимо
ввести рекуррентное соотношение.
18.
Оценка алгоритмов сортировокАлгоритм
Время выполнения в худшем случае
Выбором
O(n^2)
Вставками
O(n^2)
Слиянием
O(nlogn)
Кучей или пирамидальная
O(nlogn)
Быстрая
O(n^2)
Бинарным деревом
O(nlogn)
19.
Задание на самостоятельную работуОтсортировать массив
Вариант 1
Вариант 2
Вариант 3
Выбором
5,7,2,5,3,8
5,6,1,5,7,8,3,2
51,2,42,45,31,9,4,6
Вставками
15,27,22,51,32,81 15,27,3,2,1,28,2,1 23,7,72,6,3,4,21,9
Слиянием
5,7,2,5,3,8,2,1
51,2,3,6,8,9,3,1
6,8,1,4,3,9,3,7