Сортировка выбором

На каждом шаге находит минимум и ставит его в начало.

СигнатураO(n^2)

Сортировка выбором на каждом проходе ищет минимальный элемент в неотсортированной части и меняет его местами с первым неотсортированным. Число обменов мало — не более n−1.

Сложность: время O(n^2) всегда, независимо от исходного порядка. Память: O(1). В классическом виде неустойчива.

def selection_sort(a):
    n = len(a)
    for i in range(n):
        m = i
        for j in range(i + 1, n):
            if a[j] < a[m]:
                m = j
        a[i], a[m] = a[m], a[i]
    return a
← Все записи: Алгоритмы и структуры данных
Поддержать проект