Презентация Теория алгоритмов. Сортировка массива. (Лекция 17) онлайн
На нашем сайте вы можете скачать и просмотреть онлайн доклад-презентацию на тему Теория алгоритмов. Сортировка массива. (Лекция 17) абсолютно бесплатно. Урок-презентация на эту тему содержит всего 46 слайдов. Все материалы созданы в программе PowerPoint и имеют формат ppt или же pptx. Материалы и темы для презентаций взяты из открытых источников и загружены их авторами, за качество и достоверность информации в них администрация сайта не отвечает, все права принадлежат их создателям. Если вы нашли то, что искали, отблагодарите авторов - поделитесь ссылкой в социальных сетях, а наш сайт добавьте в закладки.
Презентации » Устройства и комплектующие » Теория алгоритмов. Сортировка массива. (Лекция 17)
Оцените!
Оцените презентацию от 1 до 5 баллов!
- Тип файла:ppt / pptx (powerpoint)
- Всего слайдов:46 слайдов
- Для класса:1,2,3,4,5,6,7,8,9,10,11
- Размер файла:1.07 MB
- Просмотров:135
- Скачиваний:0
- Автор:неизвестен
Слайды и текст к этой презентации:
№2 слайд
![План Сортировка общие](/documents_6/1a856c749c82fbfcd8aeac813af64577/img1.jpg)
Содержание слайда: План
Сортировка: общие замечания
Задача сортировки
Внутренняя и внешняя сортировка
Устойчивость
Сортировка массива
Сортировка прямыми вставками
Идея
Псевдокод
Анализ алгоритма
Сортировка бинарными вставками
Сортировка прямым выбором
Идея алгоритма
Временная сложность алгоритма
Сортировка прямыми обменами
Идея алгоритма
Временная сложность алгоритма
Улучшения алгоритма
Шейкерная сортировка
№4 слайд
![Сортировка Сортировка процесс](/documents_6/1a856c749c82fbfcd8aeac813af64577/img3.jpg)
Содержание слайда: Сортировка
Сортировка – процесс перестановки объектов заданной совокупности в определенном порядке (возрастающем или убывающем)
Целью сортировки обычно является облегчение последующего поиска элементов в отсортированном множестве
В зависимости от объема и структуры данных методы сортировки подразделяются на:
Внутренние – сортировка массивов
Внешние – сортировка файлов
№5 слайд
![Сортировка более формально](/documents_6/1a856c749c82fbfcd8aeac813af64577/img4.jpg)
Содержание слайда: Сортировка: более формально
Дано: N объектов a1, a2, …, aN
Требуется: упорядочить заданные объекты, т.е. переставить их в такой последовательности ap1, ap2, …, apN, чтобы их ключи расположились в неубывающем порядке kp1 ≤ kp2 ≤ … ≤ kpN
Ключ ki = f(ai) – некоторая функция элемента
ai – целое число => ki = ai
ai – структура => ki = ai.key
№7 слайд
![Сортировка массивов Массив](/documents_6/1a856c749c82fbfcd8aeac813af64577/img6.jpg)
Содержание слайда: Сортировка массивов
Массив – одна из наиболее распространенных совокупностей, подвергаемых сортировке
От алгоритмов сортировки массива требуется
экономичность по памяти
Перестановки, упорядочивающие массив, должны выполняться на том же месте
экономичность по времени
Мера эффективности C – количество сравнений ключей и M – число перестановок элементов
№8 слайд
![Сортировка массивов алгоритмы](/documents_6/1a856c749c82fbfcd8aeac813af64577/img7.jpg)
Содержание слайда: Сортировка массивов: алгоритмы
Простые методы сортировки – прямые, временная сложность – O(n2)
сортировка прямыми вставками (by insertion)
сортировка прямым выбором (by selection)
сортировка прямыми обменами выбором (by exchange)
«Улучшенные» методы сортировки,
временная сложность – O(n log n)
быстрая сортировка Хоара (quicksort)
сортировка слияниями (mergesort)
coртировка Шелла (shellsort)
…
№13 слайд
![Сортировка простыми вставками](/documents_6/1a856c749c82fbfcd8aeac813af64577/img12.jpg)
Содержание слайда: Сортировка простыми вставками
Анализ алгоритма
Лучший случай: массив упорядочен
Худший случай: массив упорядочен в обратном порядке
Сmin = N – 1 Mmin = 3(N-1)
Cavg = (N2 + N – 2)/4 Mavg = (N2 + 9N – 10)/4
Cmax = (N2 + N – 4)/2 Mmax = (N2 + 3N – 4)/2
Итог: T(N) = C(N) + M(N) = O(N2)
№14 слайд
![Сортировка бинарными](/documents_6/1a856c749c82fbfcd8aeac813af64577/img13.jpg)
Содержание слайда: Сортировка бинарными вставками
Сортировка простыми вставками может быть улучшена
Можно ускорить поиск подходящего места в «готовой» части, т.к. она упорядочена
В упорядоченной последовательности применим бинарный поиск!
Сложность бинарного поиска в худшем случае
есть O(log N)
Количество сравнений есть O(N log N)
Но по-прежнему, M(N) = O(N2)
Итог: T(N) = O(N log N) +O(N2) = O(N2)
№18 слайд
![Сортировка простым выбором](/documents_6/1a856c749c82fbfcd8aeac813af64577/img17.jpg)
Содержание слайда: Сортировка простым выбором
Анализ алгоритма
Количество сравнений не зависит от начального порядка элементов:
Лучший случай: массив упорядочен
Худший случай: массив упорядочен в обратном порядке
С = (N2 – N)/2 Mmin = 3(N – 1)
Mavg N(ln N + ), = 0.577216…
Mmax = N2/4 + 3(N – 1)
Итог (худший случай) : T(N) = C(N) + M(N) = O(N2)
В среднем сортировка выбором выгоднее сортировки вставками
№20 слайд
![Сортировка простыми обменами](/documents_6/1a856c749c82fbfcd8aeac813af64577/img19.jpg)
Содержание слайда: Сортировка простыми обменами
(пузырьковая сортировка)
Идея: пузырек воздуха в стакане воды поднимается со дна вверх – самый маленький («легкий») элемент массива перемещается вверх («всплывает»)
Для каждого i от 2 до N
Для каждого j от N до i
Если в паре элементов aj –1 и aj нарушен порядок,
то поменять местами aj –1 и aj
№23 слайд
![Улучшенный метод пузырька](/documents_6/1a856c749c82fbfcd8aeac813af64577/img22.jpg)
Содержание слайда: Улучшенный метод «пузырька»
Если при выполнении очередного прохода не было обменов, то массив уже отсортирован и остальные проходы не нужны
Реализуется через переменную-флаг, показывающую, были ли обмены
Если флаг поднят, то обмены были и нужен еще один проход
Если флаг опущен, то – выход
№29 слайд
![Прямые методы сортировки](/documents_6/1a856c749c82fbfcd8aeac813af64577/img28.jpg)
Содержание слайда: Прямые методы сортировки
Сортировка обменами несколько менее эффективна сортировок вставками и выбором
Шейкерная сортировка выгодна, когда массив почти упорядочен
Общее свойство: перемещение элементов ровно на одну позицию за один прием
Можно показать, что среднее расстояние, на которое должен сдвигаться элемент равно N/3
Надо стремиться к дальним пересылкам элементов
№31 слайд
![Сортировка Шелла Д.Л.Шелл,](/documents_6/1a856c749c82fbfcd8aeac813af64577/img30.jpg)
Содержание слайда: Сортировка Шелла
(Д.Л.Шелл, 1959)
Элементы разбиваются на подмножества для некоторого h>1
a1, a1+h, a1+2h, a1+3h,…
a2, a2+h, a2+2h, a2+3h,…
…
at, at+h, at+2h, at+3h,…
Сортировка проводится методом вставок для каждого подмножества
h уменьшается и процедура повторяется, пока h>0
№33 слайд
![Сортировка Шелла Анализ](/documents_6/1a856c749c82fbfcd8aeac813af64577/img32.jpg)
Содержание слайда: Сортировка Шелла
Анализ алгоритма
Анализ приводит к сложным математическим задачам
Для эффективной сортировки соседние значения не должны быть кратными
Иначе массив распадается на непересекающиеся цепочки
Требуется, чтобы цепочки взаимодействовали как можно чаще
Д. Кнут предлагает выбирать h так (порядок обратный):
1, 4, 13, 40, 121, …, т.е. hk–1 = 3hk+1, ht=1, t = [log3N] – 1
1, 3, 7, 15, 31, …, т.е. hk–1 = 2hk+1, ht=1, t = [log2N] – 1
№43 слайд
![Пример программы int a void](/documents_6/1a856c749c82fbfcd8aeac813af64577/img42.jpg)
Содержание слайда: Пример программы
int a[100];
void quickSort(int l, int r)
{
int x = a[l + (r - l) / 2];
//запись эквивалентна (l+r)/2,
//но не вызввает переполнения на больших данных
int i = l;
int j = r;
//код в while обычно выносят в процедуру particle
while(i <= j)
{
while(a[i] < x) i++;
while(a[j] > x) j--;
if(i <= j)
{
swap(a[i], a[j]);
i++;
j--;
}
}
if (i<r)
quickSort(i, r);
if (l<j)
quickSort(l, j);
}
№46 слайд
![Вопросы? Сортировка общие](/documents_6/1a856c749c82fbfcd8aeac813af64577/img45.jpg)
Содержание слайда: Вопросы?
Сортировка: общие замечания
Задача сортировки
Внутренняя и внешняя сортировка
Устойчивость
Сортировка массива
Сортировка прямыми вставками
Идея
Псевдокод
Анализ алгоритма
Сортировка бинарными вставками
Сортировка прямым выбором
Идея алгоритма
Временная сложность алгоритма
Сортировка прямыми обменами
Идея алгоритма
Временная сложность алгоритма
Улучшения алгоритма
Шейкерная сортировка
Сортировка Шелла
Идея алгоритма
Временная сложность алгоритма
Сортировка слияниями
Идея алгоритма
Временная сложность алгоритма
Быстрая сортировка
Идея алгоритма
Временная сложность алгоритма
Скачать все slide презентации Теория алгоритмов. Сортировка массива. (Лекция 17) одним архивом:
Похожие презентации
-
Теория алгоритмов. Алгоритмы сортировки массивов. (Лекция 2)
-
Алгоритмы сортировки на массивах
-
Методы улучшения алгоритмов сортировок. Лекция 7
-
Алгоритмы сортировки. Лекция 13
-
Основы программирования ФИСТ. Двухмерные массивы. Базовые алгоритмы. Лекция 10
-
Алгоритмы сортировки массивов
-
ПЯВУ. Основы программирования. Лекция 7. Массив. Простейшие алгоритмы. Форматы вывода чисел
-
Методы программирования. Алгоритмы сортировки. (Лекция 1)
-
Методы программирования. Алгоритмы сортировки. Пирамидальная сортировка. (Лекция 2)
-
Методы программирования. Алгоритмы сортировки. Сортировка методом Шелла. (Лекция 3)