- •Сортировка выбором
- •Описание алгоритма
- •Устойчивость сортировки
- •Функция временной сложности и её асимптотическая оценка
- •Функция пространственной сложности и её асимптотическая оценка
- •График функции временной сложности для всех случаев
- •Сортировка вставками
- •1) Описание алгоритма
- •Устойчивость сортировки
- •Функция временной сложности и её асимптотическая оценка
- •Функция пространственной сложности и её асимптотическая оценка
- •График функции временной сложности для разных случаев
- •Сортировка пузырьком
- •1) Описание алгоритма
- •Устойчивость сортировки
- •Функция временной сложности и её асимптотическая оценка
- •Функция пространственной сложности и её асимптотическая оценка
- •График функции временной сложности для разных случаев
- •Сортировка слиянием
- •Описание алгоритма
- •Устойчивость сортировки
- •Функция временной сложности и её асимптотическая оценка
- •Функция пространственной сложности и её асимптотическая оценка
- •График функции временной сложности для разных случаев
- •Сортировка шелла (последовательность хиббарда, пратта)
- •Описание алгоритма
- •Устойчивость сортировки
- •Функция временной сложности и её асимптотическая оценка
- •Функция пространственной сложности и её асимптотическая оценка
- •График функции временной сложности для всех случаев
- •Последовательность хиббарда
- •Описание алгоритма
- •Последовательность пратта
- •Описание алгоритма
- •Лучший случай:
- •2. Средний случай:
- •3. Худший случай:
- •Быстрая сортировка
- •Описание алгоритма
- •Устойчивость сортировки
- •Функция временной сложности и её асимптотическая оценка
- •Функция пространственной сложности и её асимптотическая оценка
- •График функции временной сложности для разных случаев
- •Пирамидальная сортировка
- •Описание алгоритма
- •Практическая часть
- •Сортировка выбором
- •Сортировка вставками
- •Сортировка пузырьком
- •Сортировка слиянием
- •Сортировка шелла
- •Последовательность хиббарда
- •Последовательность пратта
- •Быстрая сортировка
- •Пирамидальная сортировка
Сортировка пузырьком
Для экспериментальной оценки временной сложности массива сортировкой пузырьком было сделано 16 измерений для массивов длиной от 0 до 15000 элементов с шагом в 1000 (Таблица 2.3).
Таблица 2.5 - Экспериментальные значения для сортировки пузырьком
Длина массива |
Случайный |
Отсортированный |
Отсортирован по убыванию |
Отсортирован на 90% |
0 |
0.0 |
0.0 |
0.0 |
0.0 |
1000 |
0,035 |
0,018 |
0,045 |
0,018 |
2000 |
0,140 |
0,071 |
0,188 |
0,075 |
3000 |
0,315 |
0,170 |
0,423 |
0,167 |
4000 |
0,562 |
0,298 |
0,754 |
0,297 |
5000 |
0,900 |
0,482 |
1,201 |
0,480 |
6000 |
1,281 |
0,679 |
1,707 |
0,684 |
7000 |
1,732 |
0,930 |
2,318 |
0,930 |
8000 |
2,349 |
1,281 |
3,150 |
1,270 |
9000 |
2,899 |
1,547 |
3,860 |
1,540 |
10000 |
3,576 |
1,908 |
4,789 |
1,942 |
11000 |
4,386 |
2,333 |
5,852 |
2,324 |
12000 |
5,245 |
2,770 |
6,922 |
2,764 |
13000 |
6,100 |
3,265 |
8,141 |
3,251 |
14000 |
7,072 |
3,790 |
9,497 |
4,056 |
15000 |
8,146 |
4,352 |
1,080 |
5,115 |
Рисунок 2.7 - График временной сложности сортировки пузырьком с экспериментальными значениями.
Рисунок 2.8 - График экспериментальных значений с регрессионной кривой.
Рисунок 2.9 - График временной сложности.
Таблица 2.3 - Коэффициенты моделей для сортировки пузырьком.
Случай |
Модель |
Коэффициенты |
||
|
|
|
||
Случайный |
|
|
|
|
Лучший |
|
|
|
|
Худший |
|
|
|
|
Почти отсортирован |
|
|
|
|
Сравнив графики, мы можем заметить, что не все графики экспериментальных значений совпадают с графиками временной сложности. Отлично сходятся графики для случайного массива и отсортированного в обратную сторону. Графики с полностью отсортированным массивом и отсортированным на 90% имеют асимптотику, близкую к к квадратичной, что могло быть вызвано работой компьютера во время выполнения программы. В целом, обработка всех массивов по времени совпадает с теоретическими значениями.
