Similar presentations:
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).