Слайд 1
🔢 Сортировка списков
Сортировка — одна из самых часто встречающихся задач в программировании. Она заключается в перестановке элементов списка в порядке возрастания или убывания.
📘 Задача сортировки
Сортировка используется повсюду: при составлении списка учеников по алфавиту, при обработке результатов соревнований, при работе с базами данных и т.д.
Цель — упорядочить элементы списка.
Например, из [5, 3, 8, 1] получить [1, 3, 5, 8].
⚙️ Алгоритмы сортировки
Алгоритм сортировки — это способ упорядочить элементы в списке.
Основные характеристики:
- Время: скорость выполнения (насколько быстро работает алгоритм).
- Память: сколько дополнительной памяти требуется.
Если алгоритм сортирует данные без использования дополнительной памяти — говорят, что это сортировка на месте.
🐢 Медленные алгоритмы сортировки
- Пузырьковая сортировка (Bubble sort)
- Сортировка выбором (Selection sort)
- Сортировка простыми вставками (Insertion sort)
⚡ Быстрые алгоритмы сортировки
- Сортировка Шелла (Shell sort)
- Быстрая сортировка (Quick sort)
- Сортировка слиянием (Merge sort)
- Пирамидальная сортировка (Heap sort)
- Сортировка TimSort — используется в Python и Java
Почти все эти алгоритмы основаны на сравнении элементов. Однако существуют и алгоритмы, которые не используют сравнения, а полагаются на особенности данных.
🔹 Алгоритмы без сравнений
- Сортировка подсчётом (Counting sort)
- Блочная сортировка (Bucket sort)
- Поразрядная сортировка (Radix sort)
🔍 Что рассматривается в этом курсе
В рамках этого курса мы подробно изучим три базовых алгоритма сортировки:
- Пузырьковая сортировка — простейший метод, основанный на последовательных обменах соседних элементов.
- Сортировка выбором — поиск минимального элемента и перемещение его на нужное место.
- Сортировка простыми вставками — элементы вставляются на своё место в уже отсортированной части списка.
📚 Примечания
- Подробнее о различных алгоритмах сортировки можно почитать в дополнительных источниках.
- Медленные алгоритмы полезны для понимания логики сортировки и написания собственных решений.