- •Сортировка выбором
- •Описание алгоритма
- •Устойчивость сортировки
- •Функция временной сложности и её асимптотическая оценка
- •Функция пространственной сложности и её асимптотическая оценка
- •График функции временной сложности для всех случаев
- •Сортировка вставками
- •1) Описание алгоритма
- •Устойчивость сортировки
- •Функция временной сложности и её асимптотическая оценка
- •Функция пространственной сложности и её асимптотическая оценка
- •График функции временной сложности для разных случаев
- •Сортировка пузырьком
- •1) Описание алгоритма
- •Устойчивость сортировки
- •Функция временной сложности и её асимптотическая оценка
- •Функция пространственной сложности и её асимптотическая оценка
- •График функции временной сложности для разных случаев
- •Сортировка слиянием
- •Описание алгоритма
- •Устойчивость сортировки
- •Функция временной сложности и её асимптотическая оценка
- •Функция пространственной сложности и её асимптотическая оценка
- •График функции временной сложности для разных случаев
- •Сортировка шелла (последовательность хиббарда, пратта)
- •Описание алгоритма
- •Устойчивость сортировки
- •Функция временной сложности и её асимптотическая оценка
- •Функция пространственной сложности и её асимптотическая оценка
- •График функции временной сложности для всех случаев
- •Последовательность хиббарда
- •Описание алгоритма
- •Последовательность пратта
- •Описание алгоритма
- •Лучший случай:
- •2. Средний случай:
- •3. Худший случай:
- •Быстрая сортировка
- •Описание алгоритма
- •Устойчивость сортировки
- •Функция временной сложности и её асимптотическая оценка
- •Функция пространственной сложности и её асимптотическая оценка
- •График функции временной сложности для разных случаев
- •Пирамидальная сортировка
- •Описание алгоритма
- •Практическая часть
- •Сортировка выбором
- •Сортировка вставками
- •Сортировка пузырьком
- •Сортировка слиянием
- •Сортировка шелла
- •Последовательность хиббарда
- •Последовательность пратта
- •Быстрая сортировка
- •Пирамидальная сортировка
Практическая часть
Задачи:
Получить экспериментальную оценку временной сложности для отсортированного, почти отсортированного (соотношение 90/10), отсортированного в сторону убывания, случайного массива.
Вывести результаты на график и в отдельную таблицу.
Оценить асимптотику полученных данных с помощью регрессионной кривой.
Сравнить результаты с теоретическими и сделать вывод об их согласованности/несогласованности.
Вывести графики сортировок с квадратичной асимптотикой и с не квадратичной асимптотикой на два изображения. Определить наибыстрейшую сортировку и сравнить с предположением теоретической части.
Сортировка выбором
Для экспериментальной оценки временной сложности массива сортировкой выбором было сделано 16 измерений для массивов длиной от 0 до 15000 элементов с шагом в 1000 (Таблица 2.1).
Таблица 2.1. - Экспериментальные значения для сортировки выбором
Длина массива |
Случайный |
Отсортированный |
Отсортирован по убыванию |
Отсортирован на 90% |
0 |
0.0 |
0.0 |
0.0 |
0.0 |
1000 |
0.014 |
0.014 |
0.0139 |
0.017 |
2000 |
0.054 |
0.054 |
0.057 |
0.057 |
3000 |
0.121 |
0.122 |
0.129 |
0.121 |
4000 |
0.216 |
0.214 |
0.229 |
0.218 |
5000 |
0.341 |
0.336 |
0.366 |
0.345 |
6000 |
0.487 |
0.486 |
0.517 |
0.484 |
7000 |
0.664 |
0.662 |
0.711 |
0.659 |
8000 |
0.868 |
0.866 |
0.931 |
0.867 |
9000 |
1.088 |
1.092 |
1.161 |
1.090 |
10000 |
1.347 |
1.342 |
1.437 |
1.345 |
11000 |
1.630 |
1.633 |
1.738 |
1.624 |
12000 |
1.937 |
1.929 |
2.065 |
1.934 |
13000 |
2.278 |
2.264 |
2.417 |
2.272 |
14000 |
2.648 |
2.651 |
2.822 |
2.627 |
15000 |
3.024 |
3.031 |
3.229 |
3.015 |
Рисунок 2.1 - График временной сложности сортировки выбором с экспериментальными значениями.
Рисунок 2.2 - График экспериментальных значений с регрессионной кривой.
Рисунок 2.3 - График временной сложности.
Случай |
Модель |
Коэффициенты |
||
|
|
|
||
Случайный |
|
|
|
-4.857 |
Лучший |
|
|
|
|
Худший |
|
|
|
|
Почти отсортирован |
|
|
|
|
Таблица 2.2 - Коэффициенты моделей для сортировки выбором.
Сравнив график экспериментальных значений с регрессией и график из теоретической части, мы можем сделать вывод, что асимптотика для случая с отсортированным по убыванию массивом согласуется с асимптотикой временной сложности сортировки выбором в худшем случае. Другие случаи близки друг к другу и совпадают со средним случаем из теоретической части. Для всех трех случаев видна асимптотика O(n^2).
