Back to questions
Junior — Middle
71
Можешь перечислить основные методы сортировки данных, которые ты знаешь?
Companies where asked
ИнфоТехСервис
Answer from AI
sobes.tech AI
Основные методы сортировки данных, которые часто используются:
- Пузырьковая сортировка (Bubble Sort) — простой, но неэффективный метод, сравнивает соседние элементы и меняет их местами.
- Сортировка вставками (Insertion Sort) — эффективна для почти отсортированных данных, вставляет элементы в уже отсортированную часть.
- Сортировка выбором (Selection Sort) — находит минимальный элемент и ставит его на начало.
- Сортировка слиянием (Merge Sort) — рекурсивно делит массив на части, сортирует и сливает их; стабильная и эффективная.
- Быстрая сортировка (Quick Sort) — выбирает опорный элемент и делит массив на части; обычно очень быстрая на практике.
- Пирамидальная сортировка (Heap Sort) — использует структуру данных куча для сортировки.
Пример быстрой сортировки на Python:
def quick_sort(arr):
if len(arr) <= 1:
return arr
pivot = arr[len(arr) // 2]
left = [x for x in arr if x < pivot]
middle = [x for x in arr if x == pivot]
right = [x for x in arr if x > pivot]
return quick_sort(left) + middle + quick_sort(right)
print(quick_sort([3,6,8,10,1,2,1]))