36.51K
Категория: ПрограммированиеПрограммирование

Sorting_Algorithms_Dark_Theme_Presentation

1.

Подробный разбор алгоритмов
сортировки
Быстрая сортировка (QuickSort) и Пирамидальная сортировка (Heapsort)

2.

Что такое сортировка?
Сортировка — это процесс упорядочивания элементов массива по
возрастанию или убыванию. Эффективность сортировки играет ключевую
роль в алгоритмах поиска и обработки данных.

3.

Быстрая сортировка (QuickSort)
QuickSort — это один из самых эффективных алгоритмов сортировки с
разделением и покорением. Идея: выбрать опорный элемент и разделить
массив на две части — меньшие и большие элементы относительно опорного.

4.

Пример работы QuickSort
Исходный массив: [4, 2, 1, 6, -1, 9, 8, 3, 7]. В примере используются шаги с
выбором среднего элемента массива как опорного и дальнейшим
разделением.

5.

Оценка сложности QuickSort
Лучший случай: O(n log n). Средний случай: O(n log n). Худший случай: O(n²).
Пространственная сложность: O(log n).

6.

Пирамидальная сортировка (Heapsort)
Heapsort использует структуру данных — кучу, представляющую собой полное
бинарное дерево. Идея: сначала строится максимальная куча, затем
максимальный элемент перемещается в конец массива.

7.

Пример работы Heapsort
Пример: Исходный массив: [4, 10, 3, 5, 1]. Строится максимальная куча и
затем идет сортировка с постепенным перемещением максимальных
элементов.

8.

Оценка сложности Heapsort
Построение кучи: O(n). Сортировка: O(n log n). Пространственная сложность:
O(1).

9.

Преимущества и недостатки
QuickSort быстрее на практике, но имеет худший случай O(n²). Heapsort
медленнее на практике, но имеет гарантированную сложность O(n log n).
English     Русский Правила