- •НИУ ВШЭ – Пермь
- •Нечисленные алгоритмы: сортировка и поиск
- •Задача сортировки
- •Формализация задачи сортировки
- •Формализация задачи сортировки
- •Внутренняя сортировка
- •Внутренняя сортировка
- •Внутренняя сортировка
- •Внутренняя сортировка
- •Внутренняя сортировка
- •Внутренняя сортировка
- •Внутренняя сортировка
- •Внутренняя сортировка
- •Внутренняя сортировка
- •Внутренняя сортировка методом вставок (включений)
- •Внутренняя сортировка методом вставок (включений)
- •Внутренняя сортировка методом вставок (включений)
- •Внутренняя сортировка методом вставок (включений)
- •Внутренняя сортировка
- •Внутренняя сортировка: быстрая сортировка
- •Внутренняя сортировка: быстрая сортировка
- •Внутренняя сортировка: быстрая сортировка
- •Внутренняя сортировка: быстрая сортировка
- •Внутренняя сортировка: быстрая сортировка
- •Внутренняя сортировка: быстрая сортировка
- •Внутренняя сортировка: быстрая сортировка
- •Внутренняя сортировка: быстрая сортировка
- •Внутренняя сортировка: быстрая сортировка
- •Внутренняя сортировка: быстрая сортировка
- •Внутренняя сортировка: быстрая сортировка
- •Внутренняя сортировка: быстрая сортировка
- •Внутренняя сортировка
- •Внутренняя сортировка методом вставок (включений)
- •Внутренняя сортировка методом вставок (включений)
- •Внутренняя сортировка методом вставок (включений)
- •Внутренняя сортировка
- •Внутренняя сортировка
Внутренняя сортировка: быстрая сортировка
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
2 |
4 |
7 |
9 |
11 |
21 |
23 |
30 |
25 |
33 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
2 |
4 |
7 |
9 |
11 |
21 |
23 |
25 |
30 |
33 |
31
Внутренняя сортировка
Внутренняя сортировка – это
сортировка данных в оперативной памяти компьютера, сортировка массивов.
Основные подходы к сортировке:
–Сортировка методом вставок (включений).
–Обменная сортировка.
–Сортировка посредством выбора.
–Сортировка путем подсчета.
–Специальная сортировка.
–Усовершенствованные
32 методы.
Среди всех элементов сначала выбирается элемент с минимальным значением ключа и записывается на отведенное ему место (запись идет с первого элемента последовательности, индексы после записи очередного элемента увеличиваются). Затем повторяется выбор среди оставшихся элементов и перемещение найденного на отведенное место. Процесс продолжается до упорядочения всех элементов.
Внутренняя сортировка методом вставок (включений)
Место для вставки минимума
|
|
|
Очередной минимум |
|
|||||
1 |
2 |
3 |
|
|
|
|
|
|
10 |
23 |
11 |
2 |
25 |
4 |
7 |
9 |
30 |
21 |
33 |
|
|
|
|
|
|
|
|
Не упорядоченная |
|
|
|
|
|
|
|
|
|
|
часть |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
2 |
11 |
23 |
25 |
4 |
7 |
9 |
30 |
21 |
33 |
33
Внутренняя сортировка методом вставок (включений)
Место для вставки |
Очередной минимум |
|
минимума |
||
|
|
2 |
3 |
4 |
|
|
|
|
|
|
2 |
11 |
23 |
25 |
4 |
|
|
|
|
|
Упорядоченная |
|
|
|
|
|
|
|
|
|
часть |
|
|
|
|
|
|
|
Не упорядоченная |
|
|
|
|
|
|
|
|
|
|
часть |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
2 |
4 |
23 |
25 |
11 |
7 |
9 |
30 |
21 |
33 |
34
Внутренняя сортировка методом вставок (включений)
1
2
3
4
5
6
7
8
9
10 
2 |
4 |
23 |
25 |
11 |
|
7 |
|
9 |
30 |
21 |
33 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
1 |
2 |
3 |
|
4 |
|
5 |
6 |
|
7 |
|
8 |
|
9 |
|
|
10 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
2 |
4 |
7 |
|
25 |
|
11 |
23 |
|
9 |
30 |
21 |
|
33 |
10 |
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
1 |
2 |
3 |
|
4 |
5 |
6 |
|
7 |
8 |
|
9 |
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
|
|
2 |
4 |
7 |
|
9 |
11 |
23 |
25 |
30 |
21 |
33 |
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||
|
|
|
|
1 |
|
2 |
3 |
4 |
5 |
|
6 |
|
|
7 |
|
8 |
|
9 |
|
10 |
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
2 |
|
4 |
7 |
9 |
11 |
|
23 |
25 |
|
30 |
|
21 |
|
33 |
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
1 |
|
2 |
3 |
4 |
|
5 |
|
|
6 |
|
7 |
|
8 |
|
9 |
10 |
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
2 |
|
4 |
7 |
9 |
|
11 |
21 |
|
25 |
30 |
23 |
33 |
|
10 |
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
1 |
|
2 |
3 |
|
4 |
|
|
5 |
6 |
7 |
|
8 |
|
9 |
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
2 |
|
4 |
7 |
|
9 |
|
|
11 |
21 |
23 |
30 |
25 |
33 |
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
1 |
|
2 |
3 |
|
|
4 |
5 |
|
6 |
|
7 |
|
8 |
|
9 |
10 |
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
2 |
|
4 |
7 |
|
|
9 |
11 |
21 |
23 |
25 |
30 |
33 |
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
2 |
|
3 |
|
4 |
|
5 |
6 |
7 |
8 |
|
9 |
10 |
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
|
4 |
|
7 |
|
9 |
|
11 |
21 |
23 |
25 |
|
30 |
33 |
10 |
|||||
35 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
2 |
|
3 |
|
|
4 |
|
5 |
|
6 |
7 |
|
8 |
9 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
|
4 |
|
7 |
|
|
9 |
11 |
21 |
23 |
25 |
30 |
33 |
||||
Внутренняя сортировка
Внутренняя сортировка – это
сортировка данных в оперативной памяти компьютера, сортировка массивов.
Основные подходы к сортировке:
–Сортировка методом вставок (включений).
–Обменная сортировка.
–Сортировка посредством выбора.
–Сортировка путем подсчета.
–Специальная сортировка.
–Усовершенствованные
36 методы.
Для каждого элемента ведется подсчет числа всех элементов, ключи которых меньше ключа данного элемента. При сортировке сравниваются эти числа – они о определяют номер элемента в отсортированном массиве: для первого элемента число элементов с меньшими номерами будет равно 0, для второго – 1, для третьего – 2, …, для последнего (с номером N) – число элементов с меньшими номерами равно N – 1 (т.е. все элементы будут перед ним).
Внутренняя сортировка
Внутренняя сортировка – это
сортировка данных в оперативной памяти компьютера, сортировка массивов.
Основные подходы к сортировке:
–Сортировка методом вставок (включений).
–Обменная сортировка.
–Сортировка посредством выбора.
–Сортировка путем подсчета.
–Специальная сортировка.
–Усовершенствованные
37 методы.
Метод, дающий хорошие результаты для конкретного случая, но не поддающийся обобщению для произвольных массивов.
