🗊Презентация Алгоритмы и структуры данных. Сортировка обменом Pump. Тема 5

Нажмите для полного просмотра!
Алгоритмы и структуры данных. Сортировка обменом Pump. Тема 5, слайд №1Алгоритмы и структуры данных. Сортировка обменом Pump. Тема 5, слайд №2Алгоритмы и структуры данных. Сортировка обменом Pump. Тема 5, слайд №3Алгоритмы и структуры данных. Сортировка обменом Pump. Тема 5, слайд №4Алгоритмы и структуры данных. Сортировка обменом Pump. Тема 5, слайд №5Алгоритмы и структуры данных. Сортировка обменом Pump. Тема 5, слайд №6Алгоритмы и структуры данных. Сортировка обменом Pump. Тема 5, слайд №7Алгоритмы и структуры данных. Сортировка обменом Pump. Тема 5, слайд №8Алгоритмы и структуры данных. Сортировка обменом Pump. Тема 5, слайд №9Алгоритмы и структуры данных. Сортировка обменом Pump. Тема 5, слайд №10Алгоритмы и структуры данных. Сортировка обменом Pump. Тема 5, слайд №11Алгоритмы и структуры данных. Сортировка обменом Pump. Тема 5, слайд №12Алгоритмы и структуры данных. Сортировка обменом Pump. Тема 5, слайд №13Алгоритмы и структуры данных. Сортировка обменом Pump. Тема 5, слайд №14Алгоритмы и структуры данных. Сортировка обменом Pump. Тема 5, слайд №15Алгоритмы и структуры данных. Сортировка обменом Pump. Тема 5, слайд №16Алгоритмы и структуры данных. Сортировка обменом Pump. Тема 5, слайд №17Алгоритмы и структуры данных. Сортировка обменом Pump. Тема 5, слайд №18Алгоритмы и структуры данных. Сортировка обменом Pump. Тема 5, слайд №19Алгоритмы и структуры данных. Сортировка обменом Pump. Тема 5, слайд №20Алгоритмы и структуры данных. Сортировка обменом Pump. Тема 5, слайд №21Алгоритмы и структуры данных. Сортировка обменом Pump. Тема 5, слайд №22Алгоритмы и структуры данных. Сортировка обменом Pump. Тема 5, слайд №23Алгоритмы и структуры данных. Сортировка обменом Pump. Тема 5, слайд №24Алгоритмы и структуры данных. Сортировка обменом Pump. Тема 5, слайд №25Алгоритмы и структуры данных. Сортировка обменом Pump. Тема 5, слайд №26Алгоритмы и структуры данных. Сортировка обменом Pump. Тема 5, слайд №27Алгоритмы и структуры данных. Сортировка обменом Pump. Тема 5, слайд №28Алгоритмы и структуры данных. Сортировка обменом Pump. Тема 5, слайд №29Алгоритмы и структуры данных. Сортировка обменом Pump. Тема 5, слайд №30Алгоритмы и структуры данных. Сортировка обменом Pump. Тема 5, слайд №31Алгоритмы и структуры данных. Сортировка обменом Pump. Тема 5, слайд №32

Содержание

Вы можете ознакомиться и скачать презентацию на тему Алгоритмы и структуры данных. Сортировка обменом Pump. Тема 5. Доклад-сообщение содержит 32 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1





Алгоритмы и 
Алгоритмы и 
структуры данных

Тема 5 Сортировка обменом
Описание слайда:
Алгоритмы и Алгоритмы и структуры данных Тема 5 Сортировка обменом

Слайд 2


Алгоритмы и структуры данных. Сортировка обменом Pump. Тема 5, слайд №2
Описание слайда:

Слайд 3


Алгоритмы и структуры данных. Сортировка обменом Pump. Тема 5, слайд №3
Описание слайда:

Слайд 4





Исходные данные: последовательность  из  элементов; если специально не оговорено иное будем полагать, что элементы  последовательности  – это целые положительные числа.
Исходные данные: последовательность  из  элементов; если специально не оговорено иное будем полагать, что элементы  последовательности  – это целые положительные числа.
Требования: найти перестановку элементов , для которой выполняться заданное отношение порядка
 , или                              (1)
  .                                      (2)
По умолчанию сортируем по возрастанию (1). 
Если специально не оговорено иное полагаем, что исходные данные представляются одномерным массивом целых положительных чисел.
Описание слайда:
Исходные данные: последовательность из элементов; если специально не оговорено иное будем полагать, что элементы последовательности – это целые положительные числа. Исходные данные: последовательность из элементов; если специально не оговорено иное будем полагать, что элементы последовательности – это целые положительные числа. Требования: найти перестановку элементов , для которой выполняться заданное отношение порядка , или (1) . (2) По умолчанию сортируем по возрастанию (1). Если специально не оговорено иное полагаем, что исходные данные представляются одномерным массивом целых положительных чисел.

Слайд 5





Для чего нужна сортировка? 
Для чего нужна сортировка? 
Для обеспечения эффективности извлечения и обработки данных. И, прежде всего, для поиска.
В этом отношении говоря об эффективности следует всегда помнить о том, что общая трудоемкость  массовой обработки массива данных оценивается величиной
,
	 – трудоемкость сортировки массива данных;
	 – общее число обращений к массиву данных; 
	 – трудоемкость поиска в массиве данных;
	 – трудоемкость обработки массива данных.
Описание слайда:
Для чего нужна сортировка? Для чего нужна сортировка? Для обеспечения эффективности извлечения и обработки данных. И, прежде всего, для поиска. В этом отношении говоря об эффективности следует всегда помнить о том, что общая трудоемкость массовой обработки массива данных оценивается величиной , – трудоемкость сортировки массива данных; – общее число обращений к массиву данных; – трудоемкость поиска в массиве данных; – трудоемкость обработки массива данных.

Слайд 6





Упорядочение данных окупиться с лихвой. Потому, что поиск данных в упорядоченном массиве на порядки быстрее, чем в массиве неупорядоченном. В особенности для Big Data.
Упорядочение данных окупиться с лихвой. Потому, что поиск данных в упорядоченном массиве на порядки быстрее, чем в массиве неупорядоченном. В особенности для Big Data.
Для чего еще изучать сортировку? 
Помимо практической значимости алгоритмы сортировки по праву считаются фундаментом ТА, поскольку в них заложено поистине огромное количество разнообразных эффективных приемов обработки данных. Изучение которых позволит успешно конструировать и применять новые алгоритмы обработки данных.
Описание слайда:
Упорядочение данных окупиться с лихвой. Потому, что поиск данных в упорядоченном массиве на порядки быстрее, чем в массиве неупорядоченном. В особенности для Big Data. Упорядочение данных окупиться с лихвой. Потому, что поиск данных в упорядоченном массиве на порядки быстрее, чем в массиве неупорядоченном. В особенности для Big Data. Для чего еще изучать сортировку? Помимо практической значимости алгоритмы сортировки по праву считаются фундаментом ТА, поскольку в них заложено поистине огромное количество разнообразных эффективных приемов обработки данных. Изучение которых позволит успешно конструировать и применять новые алгоритмы обработки данных.

Слайд 7





Алгоритм сортировки называется алгоритмом внутренней сортировки, если сортируемые данные и программный код, используемый для обработки этих данных, одновременно помещаются в оперативной памяти. Если это условие не выполняется, алгоритм сортировки называется алгоритмом внешней сортировки. 
Алгоритм сортировки называется алгоритмом внутренней сортировки, если сортируемые данные и программный код, используемый для обработки этих данных, одновременно помещаются в оперативной памяти. Если это условие не выполняется, алгоритм сортировки называется алгоритмом внешней сортировки. 
В наши дни дефицит оперативной памяти явление достаточно редкое. Поэтому, если специально не оговорено иное, будем полагать, что рассматриваемые алгоритмы относятся к классу алгоритмов внутренней сортировки.
Описание слайда:
Алгоритм сортировки называется алгоритмом внутренней сортировки, если сортируемые данные и программный код, используемый для обработки этих данных, одновременно помещаются в оперативной памяти. Если это условие не выполняется, алгоритм сортировки называется алгоритмом внешней сортировки. Алгоритм сортировки называется алгоритмом внутренней сортировки, если сортируемые данные и программный код, используемый для обработки этих данных, одновременно помещаются в оперативной памяти. Если это условие не выполняется, алгоритм сортировки называется алгоритмом внешней сортировки. В наши дни дефицит оперативной памяти явление достаточно редкое. Поэтому, если специально не оговорено иное, будем полагать, что рассматриваемые алгоритмы относятся к классу алгоритмов внутренней сортировки.

Слайд 8





Строго говоря сортируемые элементы – это некоторые записи, каждая из которых имеет ключ, управляющий процессом сортировки и данные (Кнут Д., 295 с.). Такое определение пришло из БД; оно связано с необходимостью обработки таблиц (где: записи, их ключи и данные?):
Строго говоря сортируемые элементы – это некоторые записи, каждая из которых имеет ключ, управляющий процессом сортировки и данные (Кнут Д., 295 с.). Такое определение пришло из БД; оно связано с необходимостью обработки таблиц (где: записи, их ключи и данные?):
https://docs.oracle.com/cd/E41633_01/pt853pbh1/eng/pt/tapd/img/ia2cf27cn-7792.png 
Если специально не оговорено иное под элементами будем понимать некоторую числовую последовательность.
Описание слайда:
Строго говоря сортируемые элементы – это некоторые записи, каждая из которых имеет ключ, управляющий процессом сортировки и данные (Кнут Д., 295 с.). Такое определение пришло из БД; оно связано с необходимостью обработки таблиц (где: записи, их ключи и данные?): Строго говоря сортируемые элементы – это некоторые записи, каждая из которых имеет ключ, управляющий процессом сортировки и данные (Кнут Д., 295 с.). Такое определение пришло из БД; оно связано с необходимостью обработки таблиц (где: записи, их ключи и данные?): https://docs.oracle.com/cd/E41633_01/pt853pbh1/eng/pt/tapd/img/ia2cf27cn-7792.png Если специально не оговорено иное под элементами будем понимать некоторую числовую последовательность.

Слайд 9


Алгоритмы и структуры данных. Сортировка обменом Pump. Тема 5, слайд №9
Описание слайда:

Слайд 10





Сортировка обменом (пузырьковая сортировка, шейкерная сортировка, быстрая сортировка …).
Сортировка обменом (пузырьковая сортировка, шейкерная сортировка, быстрая сортировка …).
Сортировка выбором (линейная сортировка, выбор на дереве, пирамидальная сортировка …).
Сортировка распределением (поразрядная сортировка …).
Сортировка слиянием (двух путевое слияние …).
Сортировка вставкой (простая вставка, бинарная вставка …).
*Сортировка подсчетом, когда классическая сортировка (процедура перестановки элементов местами) заменяется процедурами подсчета частоты элементов и их вывода в виде упорядоченной последовательности
Описание слайда:
Сортировка обменом (пузырьковая сортировка, шейкерная сортировка, быстрая сортировка …). Сортировка обменом (пузырьковая сортировка, шейкерная сортировка, быстрая сортировка …). Сортировка выбором (линейная сортировка, выбор на дереве, пирамидальная сортировка …). Сортировка распределением (поразрядная сортировка …). Сортировка слиянием (двух путевое слияние …). Сортировка вставкой (простая вставка, бинарная вставка …). *Сортировка подсчетом, когда классическая сортировка (процедура перестановки элементов местами) заменяется процедурами подсчета частоты элементов и их вывода в виде упорядоченной последовательности

Слайд 11





Приведенная классификация условна, поскольку алгоритмы могут относится к нескольким классам одновременно. Поскольку работают на основе нескольких принципов.
Приведенная классификация условна, поскольку алгоритмы могут относится к нескольким классам одновременно. Поскольку работают на основе нескольких принципов.
Помимо указанных выше существуют немало модификаций и дополнительных классификаций алгоритмов сортировки.
Источники и ресурсы по теме
Дональд Э. Кнут Искусство программирования. Том 3. Сортировка и поиск https://www.twirpx.com/file/32943/
Коллекция сортировок http://sorting.valemak.com/radix/
Тема 1. Литература и ресурсы
Сегодня займемся рассмотрением алгоритмов 
Сортировки обменом
Описание слайда:
Приведенная классификация условна, поскольку алгоритмы могут относится к нескольким классам одновременно. Поскольку работают на основе нескольких принципов. Приведенная классификация условна, поскольку алгоритмы могут относится к нескольким классам одновременно. Поскольку работают на основе нескольких принципов. Помимо указанных выше существуют немало модификаций и дополнительных классификаций алгоритмов сортировки. Источники и ресурсы по теме Дональд Э. Кнут Искусство программирования. Том 3. Сортировка и поиск https://www.twirpx.com/file/32943/ Коллекция сортировок http://sorting.valemak.com/radix/ Тема 1. Литература и ресурсы Сегодня займемся рассмотрением алгоритмов Сортировки обменом

Слайд 12


Алгоритмы и структуры данных. Сортировка обменом Pump. Тема 5, слайд №12
Описание слайда:

Слайд 13





Пожалуй, наиболее очевидный способ обменной сортировки – сравнивать попарно смежные элементы, (), слева направо: первый со вторым, второй с третьим и так далее. Если порядок в паре неверный, (), элементы меняются местами. Таким образом, наибольшие элементы продвигаются вправо – к концу массива, а наименьшие – к его началу.
Пожалуй, наиболее очевидный способ обменной сортировки – сравнивать попарно смежные элементы, (), слева направо: первый со вторым, второй с третьим и так далее. Если порядок в паре неверный, (), элементы меняются местами. Таким образом, наибольшие элементы продвигаются вправо – к концу массива, а наименьшие – к его началу.
В конце итерации наибольший элемент из неупорядоченной части массива занимает свое место в конце этой неупорядоченной части.
Повторив такую итерацию сравнений и обменов  раз (где  – число элементов массива) получим упорядоченный массив.
Рассмотрим пример.
Описание слайда:
Пожалуй, наиболее очевидный способ обменной сортировки – сравнивать попарно смежные элементы, (), слева направо: первый со вторым, второй с третьим и так далее. Если порядок в паре неверный, (), элементы меняются местами. Таким образом, наибольшие элементы продвигаются вправо – к концу массива, а наименьшие – к его началу. Пожалуй, наиболее очевидный способ обменной сортировки – сравнивать попарно смежные элементы, (), слева направо: первый со вторым, второй с третьим и так далее. Если порядок в паре неверный, (), элементы меняются местами. Таким образом, наибольшие элементы продвигаются вправо – к концу массива, а наименьшие – к его началу. В конце итерации наибольший элемент из неупорядоченной части массива занимает свое место в конце этой неупорядоченной части. Повторив такую итерацию сравнений и обменов раз (где – число элементов массива) получим упорядоченный массив. Рассмотрим пример.

Слайд 14





Синим выделены элементы исходного массива, жирным – упорядоченная последовательность его элементов, зеленым (жёлтым) – проверяемая пара смежных элементов, для которой выполняется (не выполняется) отношение порядка: . 
Синим выделены элементы исходного массива, жирным – упорядоченная последовательность его элементов, зеленым (жёлтым) – проверяемая пара смежных элементов, для которой выполняется (не выполняется) отношение порядка: .
Описание слайда:
Синим выделены элементы исходного массива, жирным – упорядоченная последовательность его элементов, зеленым (жёлтым) – проверяемая пара смежных элементов, для которой выполняется (не выполняется) отношение порядка: . Синим выделены элементы исходного массива, жирным – упорядоченная последовательность его элементов, зеленым (жёлтым) – проверяемая пара смежных элементов, для которой выполняется (не выполняется) отношение порядка: .

Слайд 15





Сортировка считается адекватной при одновременном выполнении трех условий:
Сортировка считается адекватной при одновременном выполнении трех условий:
1) количество элементов в исходном и отсортированном массивах должно совпадать;
2) поэлементный состав исходного и отсортированного массивов должен совпадать;
3) для элементов отсортированного массива  должно выполняться заданное отношение порядка по возрастанию или по убыванию
 , или                              (1)
  .                                      (2)
Описание слайда:
Сортировка считается адекватной при одновременном выполнении трех условий: Сортировка считается адекватной при одновременном выполнении трех условий: 1) количество элементов в исходном и отсортированном массивах должно совпадать; 2) поэлементный состав исходного и отсортированного массивов должен совпадать; 3) для элементов отсортированного массива должно выполняться заданное отношение порядка по возрастанию или по убыванию , или (1) . (2)

Слайд 16





1) Сортировка по убыванию (проверяем отношение ).
1) Сортировка по убыванию (проверяем отношение ).
2) Изменение направления просмотра массива.
    3) Шейкерная сортировка           4) Остановка по готовности
         (или двунаправленная)
Описание слайда:
1) Сортировка по убыванию (проверяем отношение ). 1) Сортировка по убыванию (проверяем отношение ). 2) Изменение направления просмотра массива. 3) Шейкерная сортировка 4) Остановка по готовности (или двунаправленная)

Слайд 17





Отсортировать массив:
Отсортировать массив:
1) пузырьком и 2) шейкером с остановкой по готовности.
Описание слайда:
Отсортировать массив: Отсортировать массив: 1) пузырьком и 2) шейкером с остановкой по готовности.

Слайд 18





Алгоритм обмена с временным хранилищем
Алгоритм обмена с временным хранилищем
Арифметический алгоритм обмена переменных целого типа
Этот алгоритм будет прерываться на системах, которые перехватывают переполнение целого.
https://ru.wikipedia.org/wiki/Алгоритм_обмена_при_помощи_исключающего_ИЛИ
Описание слайда:
Алгоритм обмена с временным хранилищем Алгоритм обмена с временным хранилищем Арифметический алгоритм обмена переменных целого типа Этот алгоритм будет прерываться на системах, которые перехватывают переполнение целого. https://ru.wikipedia.org/wiki/Алгоритм_обмена_при_помощи_исключающего_ИЛИ

Слайд 19





Используя алгоритм обмена при помощи исключающего ИЛИ не требуется ни временное хранилище, ни определение переполнения. Алгоритм в данном случае таков
Используя алгоритм обмена при помощи исключающего ИЛИ не требуется ни временное хранилище, ни определение переполнения. Алгоритм в данном случае таков
https://ru.wikipedia.org/wiki/Алгоритм_обмена_при_помощи_исключающего_ИЛИ  
Стоит ли уходить от простого обмена с временным хранилищем???
Описание слайда:
Используя алгоритм обмена при помощи исключающего ИЛИ не требуется ни временное хранилище, ни определение переполнения. Алгоритм в данном случае таков Используя алгоритм обмена при помощи исключающего ИЛИ не требуется ни временное хранилище, ни определение переполнения. Алгоритм в данном случае таков https://ru.wikipedia.org/wiki/Алгоритм_обмена_при_помощи_исключающего_ИЛИ Стоит ли уходить от простого обмена с временным хранилищем???

Слайд 20





Давайте оценим трудоемкость сортировки применением пузырька, шейкера и шейкера с остановкой по готовности. Кто желает помочь?
Давайте оценим трудоемкость сортировки применением пузырька, шейкера и шейкера с остановкой по готовности. Кто желает помочь?
Описание слайда:
Давайте оценим трудоемкость сортировки применением пузырька, шейкера и шейкера с остановкой по готовности. Кто желает помочь? Давайте оценим трудоемкость сортировки применением пузырька, шейкера и шейкера с остановкой по готовности. Кто желает помочь?

Слайд 21





Трудоемкость пузырька (по порядку величины)
Трудоемкость пузырька (по порядку величины)
.
Трудоемкость шейкера с остановкой по готовности
1) лучший случай (массив упорядочен, требуется один проход)
;
2) худший случай (массив упорядочен в обратном порядке, требуется  проход)
.
Описание слайда:
Трудоемкость пузырька (по порядку величины) Трудоемкость пузырька (по порядку величины) . Трудоемкость шейкера с остановкой по готовности 1) лучший случай (массив упорядочен, требуется один проход) ; 2) худший случай (массив упорядочен в обратном порядке, требуется проход) .

Слайд 22





Рассматривается шейкер с остановкой по готовности.
Рассматривается шейкер с остановкой по готовности.
Достоинства:
применим для любых чисел
не требуются вспомогательные структуры данных
достаточно высокая эффективность реализации на:
значительно упорядоченных выборках, 
малых выборках, так как не требуется обслуживать вспомогательные структуры данных; и это несмотря на квадратичную трудоемкость.
Недостаток – квадратичная трудоемкость (плохо на больших, и тем более, – на неупорядоченных выборках).
Описание слайда:
Рассматривается шейкер с остановкой по готовности. Рассматривается шейкер с остановкой по готовности. Достоинства: применим для любых чисел не требуются вспомогательные структуры данных достаточно высокая эффективность реализации на: значительно упорядоченных выборках, малых выборках, так как не требуется обслуживать вспомогательные структуры данных; и это несмотря на квадратичную трудоемкость. Недостаток – квадратичная трудоемкость (плохо на больших, и тем более, – на неупорядоченных выборках).

Слайд 23





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

Слайд 24


Алгоритмы и структуры данных. Сортировка обменом Pump. Тема 5, слайд №24
Описание слайда:

Слайд 25





Вначале сравнивают первый и последний элементы (). Если порядок в паре верный,  уменьшается на единицу, первый элемент сравнивается с предпоследним и т.д.; иначе, (), элементы меняются местами и свечка сжигается с другого конца – теперь при сравнениях не  уменьшается, а  увеличивается на единицу. Если в ходе сравнений произойдет еще один обмен, опять будем уменьшать  и т.д. В конце такой итерации индексы сходятся в некотором элементе . Этот элемент занял свое место; слева от него массив элементов не больших , а справа – массив элементов не меньших . Эти массивы сортируют аналогично. Так продолжается до тех пор, пока массивы не превратятся в элементы. Рассмотрим пример.
Вначале сравнивают первый и последний элементы (). Если порядок в паре верный,  уменьшается на единицу, первый элемент сравнивается с предпоследним и т.д.; иначе, (), элементы меняются местами и свечка сжигается с другого конца – теперь при сравнениях не  уменьшается, а  увеличивается на единицу. Если в ходе сравнений произойдет еще один обмен, опять будем уменьшать  и т.д. В конце такой итерации индексы сходятся в некотором элементе . Этот элемент занял свое место; слева от него массив элементов не больших , а справа – массив элементов не меньших . Эти массивы сортируют аналогично. Так продолжается до тех пор, пока массивы не превратятся в элементы. Рассмотрим пример.
Описание слайда:
Вначале сравнивают первый и последний элементы (). Если порядок в паре верный, уменьшается на единицу, первый элемент сравнивается с предпоследним и т.д.; иначе, (), элементы меняются местами и свечка сжигается с другого конца – теперь при сравнениях не уменьшается, а увеличивается на единицу. Если в ходе сравнений произойдет еще один обмен, опять будем уменьшать и т.д. В конце такой итерации индексы сходятся в некотором элементе . Этот элемент занял свое место; слева от него массив элементов не больших , а справа – массив элементов не меньших . Эти массивы сортируют аналогично. Так продолжается до тех пор, пока массивы не превратятся в элементы. Рассмотрим пример. Вначале сравнивают первый и последний элементы (). Если порядок в паре верный, уменьшается на единицу, первый элемент сравнивается с предпоследним и т.д.; иначе, (), элементы меняются местами и свечка сжигается с другого конца – теперь при сравнениях не уменьшается, а увеличивается на единицу. Если в ходе сравнений произойдет еще один обмен, опять будем уменьшать и т.д. В конце такой итерации индексы сходятся в некотором элементе . Этот элемент занял свое место; слева от него массив элементов не больших , а справа – массив элементов не меньших . Эти массивы сортируют аналогично. Так продолжается до тех пор, пока массивы не превратятся в элементы. Рассмотрим пример.

Слайд 26





Синим выделен элементы исходного массива, красным – элементы на своих местах, зеленым (жёлтым) – проверяемая пара элементов, для которой выполняется (не выполняется) отношение порядка: . Жирным выделена сдвигаемая граница.
Синим выделен элементы исходного массива, красным – элементы на своих местах, зеленым (жёлтым) – проверяемая пара элементов, для которой выполняется (не выполняется) отношение порядка: . Жирным выделена сдвигаемая граница.
Описание слайда:
Синим выделен элементы исходного массива, красным – элементы на своих местах, зеленым (жёлтым) – проверяемая пара элементов, для которой выполняется (не выполняется) отношение порядка: . Жирным выделена сдвигаемая граница. Синим выделен элементы исходного массива, красным – элементы на своих местах, зеленым (жёлтым) – проверяемая пара элементов, для которой выполняется (не выполняется) отношение порядка: . Жирным выделена сдвигаемая граница.

Слайд 27





Сортировка по убыванию (проверяем отношение ).
Сортировка по убыванию (проверяем отношение ).
Изменение направления просмотра массива.
Границы одноэлементных массивов, (), в стек не помещаются потому, что такие массивы уже упорядочены.
Границы двухэлементных массивов, (), в стек не помещаются. Такие массивы обрабатывается «на лету»: если , тогда меняем эти элементы местами; иначе элементы уже на своем месте.
Описание слайда:
Сортировка по убыванию (проверяем отношение ). Сортировка по убыванию (проверяем отношение ). Изменение направления просмотра массива. Границы одноэлементных массивов, (), в стек не помещаются потому, что такие массивы уже упорядочены. Границы двухэлементных массивов, (), в стек не помещаются. Такие массивы обрабатывается «на лету»: если , тогда меняем эти элементы местами; иначе элементы уже на своем месте.

Слайд 28





Отсортировать массив модифицированным алгоритмом быстрой сортировки без помещения в стек одно- и двух-элементных массивов. 
Отсортировать массив модифицированным алгоритмом быстрой сортировки без помещения в стек одно- и двух-элементных массивов.
Описание слайда:
Отсортировать массив модифицированным алгоритмом быстрой сортировки без помещения в стек одно- и двух-элементных массивов. Отсортировать массив модифицированным алгоритмом быстрой сортировки без помещения в стек одно- и двух-элементных массивов.

Слайд 29





Давайте оценим трудоемкость быстрой сортировки. Кто желает помочь?
Давайте оценим трудоемкость быстрой сортировки. Кто желает помочь?
Описание слайда:
Давайте оценим трудоемкость быстрой сортировки. Кто желает помочь? Давайте оценим трудоемкость быстрой сортировки. Кто желает помочь?

Слайд 30





Лучший случай (массив каждый раз делится пополам)
Лучший случай (массив каждый раз делится пополам)
.
Худший случай (массив упорядочен)
.
Описание слайда:
Лучший случай (массив каждый раз делится пополам) Лучший случай (массив каждый раз делится пополам) . Худший случай (массив упорядочен) .

Слайд 31





Особенности: 1) большинство обменов будет полуобменами (простые пересылки), поскольку один из ключей (который вначале итерации совпадает с левой границей массива) все время будет в регистре, и его не нужно записывать до самого конца итерации; 2) в стеке одновременно будет находиться не более  пар ссылок (Кнут Д., 142 с.).
Особенности: 1) большинство обменов будет полуобменами (простые пересылки), поскольку один из ключей (который вначале итерации совпадает с левой границей массива) все время будет в регистре, и его не нужно записывать до самого конца итерации; 2) в стеке одновременно будет находиться не более  пар ссылок (Кнут Д., 142 с.).
Достоинства – неплохая оценка трудоемкости для наилучшего случая, применимость для любых чисел.
Недостатки:
квадратичная трудоемкость в наихудшем случае;
неэффективность на малых объемах данных в связи с необходимостью использования стека и выполнения большого объема вспомогательных вычислений.
Описание слайда:
Особенности: 1) большинство обменов будет полуобменами (простые пересылки), поскольку один из ключей (который вначале итерации совпадает с левой границей массива) все время будет в регистре, и его не нужно записывать до самого конца итерации; 2) в стеке одновременно будет находиться не более пар ссылок (Кнут Д., 142 с.). Особенности: 1) большинство обменов будет полуобменами (простые пересылки), поскольку один из ключей (который вначале итерации совпадает с левой границей массива) все время будет в регистре, и его не нужно записывать до самого конца итерации; 2) в стеке одновременно будет находиться не более пар ссылок (Кнут Д., 142 с.). Достоинства – неплохая оценка трудоемкости для наилучшего случая, применимость для любых чисел. Недостатки: квадратичная трудоемкость в наихудшем случае; неэффективность на малых объемах данных в связи с необходимостью использования стека и выполнения большого объема вспомогательных вычислений.

Слайд 32





Тема лабораторной работы № 4: Программная реализация алгоритмов сортировки обменом
Тема лабораторной работы № 4: Программная реализация алгоритмов сортировки обменом
Задание (обязательно): программная реализация и сравнительный анализ эффективности алгоритмов (вычислять коэффициент прироста трудоемкости)
Задание (опционально): программная реализация быстрой сортировки.
Описание слайда:
Тема лабораторной работы № 4: Программная реализация алгоритмов сортировки обменом Тема лабораторной работы № 4: Программная реализация алгоритмов сортировки обменом Задание (обязательно): программная реализация и сравнительный анализ эффективности алгоритмов (вычислять коэффициент прироста трудоемкости) Задание (опционально): программная реализация быстрой сортировки.



Похожие презентации
Mypresentation.ru
Загрузить презентацию