Sobes.tech
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]))