Разделы презентаций


Поразрядная сортировка

Содержание

Рассматриваемый алгоритм имеет следующие особенности.не использует сравнений сортируемых элементов.ключ, по которому происходит сортировка, необходимо разделить на части, разряды ключа. Например, слово можно разделить по буквам, число - по цифрам... До сортировки

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

Слайд 1Поразрядная сортировка
Сортировка применима к спискам, массивам, содержащим цифровую и текстовую

информацию. Целые числа могут быть со знаком и без него,

вещественные числа могут быть записаны в форме с фиксированной или плавающей десятичной точкой.
Поразрядная сортировкаСортировка применима к спискам, массивам, содержащим цифровую и текстовую информацию. Целые числа могут быть со знаком

Слайд 2Рассматриваемый алгоритм имеет следующие особенности.
не использует сравнений сортируемых элементов.
ключ, по

которому происходит сортировка, необходимо разделить на части, разряды ключа. Например,

слово можно разделить по буквам, число - по цифрам...
До сортировки необходимо знать два параметра: k и m, где
k - количество разрядов в самом длинном ключе
m - разрядность данных: количество возможных значений разряда ключа
При сортировки чисел m = 10 (0.1 . . 9) , k = наибольшему количеству цифр в числах )
Эти параметры нельзя изменять в процессе работы алгоритма.
Рассматриваемый алгоритм имеет следующие особенности.не использует сравнений сортируемых элементов.ключ, по которому происходит сортировка, необходимо разделить на части,

Слайд 5Сортировка вставками
Рассмотрим действия на i-м шаге алгоритма. Последовательность к этому

моменту разделена на две части: готовую a[0]...a[i] и неупорядоченную a[i+1]...a[n].
На

следующем, (i+1)-м каждом шаге алгоритма берем a[i+1] и вставляем на нужное место в готовую часть массива.
Поиск подходящего места для очередного элемента входной последовательности осуществляется путем последовательных сравнений с элементом, стоящим перед ним.
В зависимости от результата сравнения элемент либо остается на текущем месте(вставка завершена) либо они меняются местами и процесс повторяется.
Сортировка вставками	Рассмотрим действия на i-м шаге алгоритма. Последовательность к этому моменту разделена на две части: готовую a[0]...a[i]

Слайд 6Сортировка вставками
0
1
4
3
2
7
9
0
1
4
3
2
7
9
0
1
2
3
4
7
9
0
1
2
3
4
7
9
0
1
3
2
4
7
9
0
1
3
2
4
7
9
сравнение
сравнение
сравнение
перемещение
перемещение
завершение шага


Сортировка вставками014327901432790123479012347901324790132479сравнениесравнениесравнениеперемещениеперемещениезавершение шага

Слайд 7
В процессе вставки "просеиваем" элемент a[i] к началу массива, останавливаясь

в случае, когда
1. Hайден элемент,

меньший a[i],
2. Достигнуто начало последовательности.
Дополнительная память не используется.
Хорошим показателем сортировки является весьма естественное поведение: почти отсортированный массив будет досортирован очень быстро.
Метод устойчив.
В процессе вставки

Слайд 8  Сортировка Шелла
Сортировка Шелла является модификацией алгоритма сортировки простыми вставками.
Исходный

массив


Объединение парами


Сортировка внутри пар вставками
8
14
9
4
1
8
6
12
3
9
3
18
11
10
13
5
8
14
9
4
1
8
6
12
3
9
3
18
11
10
13
5




8
14
9
4
1
8
6
12
3
9
3
18
11
10
13
5

  Сортировка ШеллаСортировка Шелла является модификацией алгоритма сортировки простыми вставками.Исходный массивОбъединение парамиСортировка внутри пар вставками814941861239318111013581494186123931811101358149418612393181110135

Слайд 9 Объединение «четвёрками»
5
11
3
4
1
8
3
12
6
9
9
18
14
10
13
8
Сортировка внутри «четвёрок» вставками
5
11
3
4
1
8
3
12
6
9
9
18
14
10
13
8

Объединение «четвёрками»5113418312699181410138Сортировка внутри «четвёрок» вставками5113418312699181410138

Слайд 10Объединение «восьмерками»



Сортировка внутри «восьмерок» вставками


Объединение заключительное



3
1
5
12
10
6
3
4
8
9
9
18
11
14
13
8
3
1
5
12
10
6
3
4
8
9
9
18
11
14
13
8
3
4
5
10
11
6
3
1
8
9
9
14
13
18
12
8

Объединение «восьмерками»Сортировка внутри «восьмерок» вставкамиОбъединение заключительное315121063489918111413831512106348991811141383451011631899141318128

Слайд 113



Сортировка вставками заключительная


3
4
5
10
11
6
3
1
8
9
9
14
13
18
12
8
3
4
5
10
11
6
3
1
8
9
9
14
13
18
12
8

3Сортировка вставками заключительная34510116318991413181283451011631899141318128

Слайд 12Сортировка выбором
Отсортированная последовательность создается путем присоединения к ней одного элемента

за другим в правильном порядке.
Готовая последовательность строится, начиная с

левого конца массива. Алгоритм состоит из n последовательных шагов, начиная от первого и заканчивая (n-1)-м.
На i-м шаге выбираем наименьший из элементов a[i] ... a[n] и меняем его местами с a[i].
Сортировка выборомОтсортированная последовательность создается путем присоединения к ней одного элемента за другим в правильном порядке. Готовая последовательность

Слайд 13Шаг-1 (Исходная последовательность )


Нахождение минимального a[m1] элемента из последовательности a[1]

÷ a[n].


Меняем местами a[1] и a[m1].
4
9
7
6
2
3
4
9
7
6
2
3
4
9
7
6
2
3

Шаг-1 (Исходная последовательность )Нахождение минимального a[m1] элемента из последовательности a[1] ÷ a[n].Меняем местами a[1] и a[m1]. 497623497623497623

Слайд 14Шаг-2


Нахождение минимального a[m2] элемента из последовательности a[2] ÷ a[n].


Меняем местами

a[2] и a[m2].
2
9
7
6
4
3
2
9
7
6
4
3
2
9
7
6
4
3

Шаг-2Нахождение минимального a[m2] элемента из последовательности a[2] ÷ a[n].Меняем местами a[2] и a[m2]. 297643297643297643

Слайд 15Шаг-3


Нахождение минимального a[m3] элемента из последовательности a[3] ÷ a[n].


Меняем местами

a[3] и a[m3].
2
3
7
6
4
9
2
3
7
6
4
9
2
3
7
6
4
9

Шаг-3Нахождение минимального a[m3] элемента из последовательности a[3] ÷ a[n].Меняем местами a[3] и a[m3]. 237649237649237649

Слайд 16Шаг-4


Нахождение минимального a[m4] элемента из последовательности a[4] ÷ a[n].

Меняем местами

a[4] и a[m4]. (в данном случае элемент не смещается)
2
3
4
6
7
9
2
3
4
6
7
9
2
3
4
6
7
9

Шаг-4Нахождение минимального a[m4] элемента из последовательности a[4] ÷ a[n].Меняем местами a[4] и a[m4]. (в данном случае элемент

Слайд 17Вне зависимости от номера текущего шага i, последовательность a[1]...a[i] является

упорядоченной. Таким образом, на (n-1)-м шаге вся последовательность, кроме a[n]

оказывается отсортированной, а a[n] стоит на последнем месте по праву: все меньшие элементы уже ушли влево.
Для нахождения наименьшего элемента из n рассматриваемых алгоритм совершает n сравнений. С учетом того, что количество рассматриваемых на очередном шаге элементов уменьшается на единицу, общее количество операций:
n + (n-1) + (n-2) + (n-3) + ... + 1 = 1/2 * ( n2+n )
Таким образом, так как число обменов всегда будет меньше числа сравнений, время сортировки растет квадратично относительно количества элементов.
Вне зависимости от номера текущего шага i, последовательность a[1]...a[i] является упорядоченной. Таким образом, на (n-1)-м шаге вся

Слайд 18Алгоритм не использует дополнительной памяти: все операции происходят "на месте".

Метод неустойчив.
Если входная последовательность почти упорядочена, то сравнений будет столько

же, значит алгоритм ведет себя неестественно.
Алгоритм не использует дополнительной памяти: все операции происходят

Слайд 19  Сортировка пузырьком
Расположим массив сверху вниз, от нулевого элемента -

к последнему.
Идея метода: шаг сортировки состоит в проходе снизу вверх

по массиву. По пути просматриваются пары соседних элементов. Если элементы некоторой пары находятся в неправильном порядке, то меняем их местами.
  Сортировка пузырьком	Расположим массив сверху вниз, от нулевого элемента - к последнему.Идея метода: шаг сортировки состоит в

Слайд 20Нулевой проход
Нет
обмена

2 6 2

7 2 9 2 4

4

9

7

6

2

3

4

9

7

2

6

3

4

9

2

7

6

3

4

2

9

7

6

3

Нулевой проход Нет обмена       2   6

Слайд 21 После нулевого прохода по массиву "вверху" оказывается самый "легкий" элемент

- отсюда аналогия с пузырьком.
Следующий проход делается до второго

сверху элемента, таким образом второй по величине элемент поднимается на правильную позицию...
Делаем проходы по все уменьшающейся нижней части массива до тех пор, пока в ней не останется только один элемент. На этом сортировка заканчивается, так как последовательность упорядочена по возрастанию.
После нулевого прохода по массиву

Слайд 22









Номер
прохода i=0

i=1 i=2

i=3 i=4 i=5

2

4

9

7

6

3

2

3

4

9

7

6

2

3

4

9

7

6

2

3

4

6

9

7

2

3

4

6

7

9

Номер прохода        i=0    i=1

Слайд 23
Дополнительная памятьне требуется.
Поведение усовершенствованного (но не начального) метода довольно

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

пузырьком устойчива, однако шейкер-сортировка утрачивает это качество.
Дополнительная памятьне требуется. Поведение усовершенствованного (но не начального) метода довольно естественное, почти отсортированный массив будет отсортирован намного

Слайд 24Шейкер-сортировка
Улучшение алгоритма можно получить из следующего наблюдения. Легкий пузырек

снизу поднимется наверх за один проход, тяжелые пузырьки опускаются со

минимальной скоростью: один шаг за итерацию.
Чтобы избежать подобного эффекта, можно менять направление следующих один за другим проходов. Получившийся алгоритм иногда называют "шейкер-сортировкой".
Шейкер-сортировка Улучшение алгоритма можно получить из следующего наблюдения. Легкий пузырек снизу поднимется наверх за один проход, тяжелые

Слайд 25
2
4
9
7
6
3
9
3
6
7
4
2
Номер
прохода i=0

i=1 i=2 i=3

i=4 i=5
249763936742Номер прохода      i=0    i=1    i=2

Слайд 26Сравнительная таблица

Сравнительная таблица

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

Если не удалось найти и скачать доклад-презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

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

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

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


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

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