Презентация, доклад по теме Алгоритмы сортировки для дисциплины ОП.08 Теория алгоритмов

Содержание

В чем состоит задача сортировки?Зачем нужно изучать сортировку?Сортировка пузырькомСортировка выборомСортировка вставкамиСортировка слиянием

Слайд 1 ТЕМА УРОКА: «АЛГОРИТМЫ СОРТИРОВКИ»
Дисциплина ОП.08 Теория алгоритмов
Преподаватель Скряго О.С.
Смоленск 2014

ТЕМА УРОКА: «АЛГОРИТМЫ СОРТИРОВКИ»Дисциплина ОП.08 Теория алгоритмовПреподаватель Скряго О.С.Смоленск 2014

Слайд 2В чем состоит задача сортировки?
Зачем нужно изучать сортировку?
Сортировка пузырьком
Сортировка выбором
Сортировка вставками
Сортировка

слиянием
В чем состоит задача сортировки?Зачем нужно изучать сортировку?Сортировка пузырькомСортировка выборомСортировка вставкамиСортировка слиянием

Слайд 31. В ЧЕМ СОСТОИТ ЗАДАЧА СОРТИРОВКИ?
Сортировка – упорядочЕние заданного списка элементов.
Вход:

последовательность, состоящая из n чисел (a1, a2, …, an).
Выход: перестановка (изменение порядка) (a1’, a2’,…, an’) входной последовательности таким образом, что a1’ ≤ a2’ ≤ … ≤ an’.
Входная последовательность представляется в виде n-элементного массива.
1. В ЧЕМ СОСТОИТ ЗАДАЧА СОРТИРОВКИ?Сортировка – упорядочЕние заданного списка элементов.Вход: последовательность, состоящая из n чисел (a1,

Слайд 41. В ЧЕМ СОСТОИТ ЗАДАЧА СОРТИРОВКИ?
Устойчивый алгоритм – не меняет относительное

расположение одинаковых элементов в массиве.
Если номера двух одинаковых элементов i < j, то в отсортированном списке i’ < j’

Обменный (in-place) алгоритм – для его работы не требуется дополнительная память, которая зависит от размера массива.

1. В ЧЕМ СОСТОИТ ЗАДАЧА СОРТИРОВКИ?Устойчивый алгоритм – не меняет относительное расположение одинаковых элементов в массиве.Если номера

Слайд 51. В ЧЕМ СОСТОИТ ЗАДАЧА СОРТИРОВКИ?
Как правило, сортируются только ключи, которые

существуют в записях (строчка в таблице, список, объект)

Базовая операция – сравнение двух элементов: ai ≤ aj (кроме некоторых специальных алгоритмов)
Время работы: Ω(n log n)

Рассматривается сортировка по возрастанию
1. В ЧЕМ СОСТОИТ ЗАДАЧА СОРТИРОВКИ?Как правило, сортируются только ключи, которые существуют в записях (строчка в таблице,

Слайд 62. ЗАЧЕМ НУЖНО ИЗУЧАТЬ СОРТИРОВКУ?
Во многих приложениях нужно сортировать данные
Выдача информации

(отчеты, списки)
Сортировка для бинарного поиска
Геометрические алгоритмы (вывод графики, поиск выпуклой оболочки)
Многие алгоритмы требуют предварительную сортировку данных

Алгоритмы сортировки – прекрасный способ изучения алгоритмов (большое количество алгоритмов, много техник).
2. ЗАЧЕМ НУЖНО ИЗУЧАТЬ СОРТИРОВКУ?Во многих приложениях нужно сортировать данныеВыдача информации (отчеты, списки)Сортировка для бинарного поискаГеометрические алгоритмы

Слайд 7СОРТИРОВКА ПУЗЫРЬКОМ (BUBBLE SORT)

СОРТИРОВКА ПУЗЫРЬКОМ (BUBBLE SORT)

Слайд 83. СОРТИРОВКА ПУЗЫРЬКОМ
Суть алгоритма: многократный проход по списку и сравнение двух

соседних элементов. Если ai > ai+1, то элементы меняются местами.

На первом проходе в конец списка перемещается («всплывает») самый большой элемент, на втором проходе – всплывает второй по величине элемент и т.д.
3. СОРТИРОВКА ПУЗЫРЬКОМСуть алгоритма: многократный проход по списку и сравнение двух соседних элементов. Если ai > ai+1,

Слайд 93. СОРТИРОВКА ПУЗЫРЬКОМ
Алгоритм Bubble sort (A[0…n-1])
for i=0 to n-2 do

for j=0 to n-2-i do
if A[j+1] < A[j]
обмен A[j] и A[j+1]

Время работы: O(n2)
Разные случаи: нет
Модификация: если при проходе нет обмена – список отсортирован

3. СОРТИРОВКА ПУЗЫРЬКОМАлгоритм Bubble sort (A[0…n-1])for i=0 to n-2 do  for j=0 to n-2-i do

Слайд 10СОРТИРОВКА ВЫБОРОМ (SELECTION SORT)

СОРТИРОВКА ВЫБОРОМ (SELECTION SORT)

Слайд 114. СОРТИРОВКА ВЫБОРОМ
Суть алгоритма: проходим по списку, ищем наименьший элемент и

меняем местами с первым элементом. Далее находим второй наименьший элемент и меняем его местами со вторым элементом и т.д.

Есть другой вариант: ищем наибольший элемент и меняем местами с последним элементом.

4. СОРТИРОВКА ВЫБОРОМСуть алгоритма: проходим по списку, ищем наименьший элемент и меняем местами с первым элементом. Далее

Слайд 124. СОРТИРОВКА ВЫБОРОМ
Алгоритм Selection sort (A[0…n-1])
for i=0 to n-2 do

min=i
for j=i+1 to n-1 do
if A[j] < A[min]
min=j
обмен A[j] и A[min]

Время работы: O(n2)
Разные случаи: нет
4. СОРТИРОВКА ВЫБОРОМАлгоритм Selection sort (A[0…n-1])for i=0 to n-2 do  min=i  for j=i+1 to n-1

Слайд 13СОРТИРОВКА ВСТАВКАМИ (INSERTION SORT)

СОРТИРОВКА ВСТАВКАМИ (INSERTION SORT)

Слайд 145. СОРТИРОВКА ВСТАВКАМИ
Суть алгоритма: делим список на отсортированную часть и неотсортированную.


Изначально в отсортированную часть попадает первое значение списка.
Далее сравниваем следующее значение со значениями в отсортированном списке и ставим его в нужном порядке, после чего отсортированная часть увеличивается на 1.
Потом берем следующее значение и т.д.

5. СОРТИРОВКА ВСТАВКАМИСуть алгоритма: делим список на отсортированную часть и неотсортированную. Изначально в отсортированную часть попадает первое

Слайд 155. СОРТИРОВКА ВСТАВКАМИ
Алгоритм Insertion sort (A[0…n-1])
for i=1 to n-1 do

v=A[i]
j=i-1
while j≥0 AND A[j]>v do
A[j+1]=A[j]
j=j-1
A[j+1]=v
5. СОРТИРОВКА ВСТАВКАМИАлгоритм Insertion sort (A[0…n-1])for i=1 to n-1 do  v=A[i]  j=i-1  while j≥0

Слайд 165. СОРТИРОВКА ВСТАВКАМИ
Время работы: O(n2) в худшем случае, O(n) в лучшем

случае.

Разные случаи: да, зависит от характера входных данных. Чем ближе входные данные к отсортированным – тем меньше сравнений.

5. СОРТИРОВКА ВСТАВКАМИВремя работы: O(n2) в худшем случае, O(n) в лучшем случае.Разные случаи: да, зависит от характера

Слайд 17СОРТИРОВКА СЛИЯНИЕМ (MERGE SORT)

СОРТИРОВКА СЛИЯНИЕМ  (MERGE SORT)

Слайд 186. СОРТИРОВКА СЛИЯНИЕМ
Суть алгоритма: список рекурсивно делится пополам, после чего каждая

половина рекурсивно сортируется, после чего две половины сливаются в один отсортированный массив.

Список рекурсивно делится пополам, пока все подмассивы не будут содержать 1 или 0 элементов.
Если сортируемый список нечетный – один из подмассивов будет пустым.

6. СОРТИРОВКА СЛИЯНИЕМСуть алгоритма: список рекурсивно делится пополам, после чего каждая половина рекурсивно сортируется, после чего две

Слайд 196. СОРТИРОВКА СЛИЯНИЕМ
Алгоритм Mergesort (A[0…n-1])
if n>1
Копировать A[0…n/2-1] в B[0…n/2-1]

Копировать A[n/2…n-1] в С[0…n/2-1]
Mergesort (B[0…n/2-1])
Mergesort (С[0…n/2-1])
Merge (B,C,A)
6. СОРТИРОВКА СЛИЯНИЕМАлгоритм Mergesort (A[0…n-1])if n>1  Копировать A[0…n/2-1] в B[0…n/2-1]  Копировать A[n/2…n-1] в С[0…n/2-1]

Слайд 206. СОРТИРОВКА СЛИЯНИЕМ
Алгоритм Merge (B[0…p-1], C[0…q-1], A[0…p+q-1)
i=0; j=0; k=0
While i

j if B[i]≤C[j]
A[k]=B[i]; i=i+1
else
A[k]=C[j]; j=j+1
k=k+1
if i=p
Копировать C[j…q-1] в A[k…p+q-1]
Else
Копировать B[i…p-1] в A[k…p+q-1]

6. СОРТИРОВКА СЛИЯНИЕМАлгоритм Merge (B[0…p-1], C[0…q-1], A[0…p+q-1)i=0; j=0; k=0While i

Слайд 216. СОРТИРОВКА СЛИЯНИЕМ

6. СОРТИРОВКА СЛИЯНИЕМ

Слайд 226. СОРТИРОВКА СЛИЯНИЕМ
Время работы: O(n log n) в худшем случае, O(n

log n) в лучшем случае.

Разные случаи: да, зависит от характера входных данных, но не значительно

Требует n дополнительной памяти для подмассивов

6. СОРТИРОВКА СЛИЯНИЕМВремя работы: O(n log n) в худшем случае, O(n log n) в лучшем случае.Разные случаи:

Слайд 23СРАВНИТЕЛЬНАЯ ТАБЛИЦА СОРТИРОВОК

СРАВНИТЕЛЬНАЯ ТАБЛИЦА СОРТИРОВОК

Что такое shareslide.ru?

Это сайт презентаций, где можно хранить и обмениваться своими презентациями, докладами, проектами, шаблонами в формате PowerPoint с другими пользователями. Мы помогаем школьникам, студентам, учителям, преподавателям хранить и обмениваться учебными материалами.


Для правообладателей

Яндекс.Метрика

Обратная связь

Email: Нажмите что бы посмотреть