- •Сортировка выбором
- •Описание алгоритма
- •Устойчивость сортировки
- •Функция временной сложности и её асимптотическая оценка
- •Функция пространственной сложности и её асимптотическая оценка
- •График функции временной сложности для всех случаев
- •Сортировка вставками
- •1) Описание алгоритма
- •Устойчивость сортировки
- •Функция временной сложности и её асимптотическая оценка
- •Функция пространственной сложности и её асимптотическая оценка
- •График функции временной сложности для разных случаев
- •Сортировка пузырьком
- •1) Описание алгоритма
- •Устойчивость сортировки
- •Функция временной сложности и её асимптотическая оценка
- •Функция пространственной сложности и её асимптотическая оценка
- •График функции временной сложности для разных случаев
- •Сортировка слиянием
- •Описание алгоритма
- •Устойчивость сортировки
- •Функция временной сложности и её асимптотическая оценка
- •Функция пространственной сложности и её асимптотическая оценка
- •График функции временной сложности для разных случаев
- •Сортировка шелла (последовательность хиббарда, пратта)
- •Описание алгоритма
- •Устойчивость сортировки
- •Функция временной сложности и её асимптотическая оценка
- •Функция пространственной сложности и её асимптотическая оценка
- •График функции временной сложности для всех случаев
- •Последовательность хиббарда
- •Описание алгоритма
- •Последовательность пратта
- •Описание алгоритма
- •Лучший случай:
- •2. Средний случай:
- •3. Худший случай:
- •Быстрая сортировка
- •Описание алгоритма
- •Устойчивость сортировки
- •Функция временной сложности и её асимптотическая оценка
- •Функция пространственной сложности и её асимптотическая оценка
- •График функции временной сложности для разных случаев
- •Пирамидальная сортировка
- •Описание алгоритма
- •Практическая часть
- •Сортировка выбором
- •Сортировка вставками
- •Сортировка пузырьком
- •Сортировка слиянием
- •Сортировка шелла
- •Последовательность хиббарда
- •Последовательность пратта
- •Быстрая сортировка
- •Пирамидальная сортировка
Функция временной сложности и её асимптотическая оценка
Лучший случай
Так
как массив полностью отсортирован,
нужно сделать
проходов
для сравнения и
обменов. Таким
образом, функция сложности:
.
Асимптотическая
оценка:
Средний случай
На
каждой итерации нужно
сравнить пару элементов во всем массиве.
Значит количество сравнений будет
равно:
.
В
среднем, половина всех сравнений приводит
к обменам, значит:
.
Таким образом, функция сложности:
Асимптотическая оценка:
Худший случай
На
каждой итерации нужно
сравнить пару элементов во всем массиве.
Значит количество сравнений будет
равно:
.
При этом количество обменов
(сдвигов)
будет
тоже
равняться:
.
Таким
образом, функция сложности:
Асимптотическая
оценка:
Функция пространственной сложности и её асимптотическая оценка
Алгоритм сортировки выбором не требует дополнительной памяти для хранения элементов, кроме переменных для индексов и временного хранения при обмене. Поэтому, пространственная сложность данного алгоритма:
График функции временной сложности для разных случаев
Рисунок 1.2 - Временная сложность сортировки вставками в трех случаях.
Сортировка пузырьком
1) Описание алгоритма
Алгоритм состоит из последовательных сравнений пар соседних элементов внутри одного прохода, количество проходов равно N-1. После сравнения происходит перестановка элементов в случае, если они стоят в неправильном порядке. При каждом проходе наибольший элемент сортируемой части «уходит» в конец массива, а наименьший элемент приближается к началу массива, перемещаясь на одну позицию. Проходы по массиву повторяются до тех пор, пока на очередном проходе не окажется, что обмены больше не нужны, Это значит, что массив отсортирован.
Устойчивость сортировки
Устойчивая: во время сравнения соседних элементов проверяется тот факт, является ли левый элемент строго больше правого. Поэтому при обмене соседних элементов, если они равны, порядок их не меняется.
Функция временной сложности и её асимптотическая оценка
Лучший случай:
Так как массив полностью отсортирован, нужно сделать проходов для сравнения и обменов.
Таким образом, функция сложности:
.
Асимптотическая оценка:
Средний случай:
На каждой итерации нужно сравнить пару элементов во всем массиве. Значит количество сравнений будет равно: . В среднем, половина всех сравнений приводит к обменам, значит: .
Таким образом, функция сложности:
Асимптотическая оценка:
Худший случай:
На каждой итерации нужно сравнить пару элементов во всем массиве. Значит количество сравнений будет равно: . При этом количество обменов будет тоже равняться: .
Таким образом, функция сложности:
).
Асимптотическая оценка:
Функция пространственной сложности и её асимптотическая оценка
Алгоритм сортировки пузырьком не требует дополнительной памяти для хранения элементов, кроме переменных для индексов и временного хранения при обмене. Поэтому, пространственная сложность данного алгоритма:
