Рубрики
Без рубрики

Алгоритм: Сортировка отбора, как это работает и реализация в Python

В этом блоге я расскажу о том, как работает выбор отбора. Я буду реализовывать примеры в Python3. Селез … Теги с алгоритмами, CodeNewie, Python, начинающими.

В этом блоге я расскажу о том, как работает выбор отбора. Я буду реализовывать примеры в Python3.

Сортировка выбора – это алгоритм, который выбирает наименьший элемент из несортированного списка в каждой итерации и поместил этот элемент в начале несортированного списка.

Как работает сортировка отбора?

Слово «выбирает» означает тщательно выбранный из группы вещей как лучших или наиболее ценных. Если у меня есть список чисел и, я выбираю случайное число без какого-либо мышления. Это не должно быть выбрать. Скорее, если я вдумчиво выберу лучший или подходящий, который он должен быть выбран.

В сортировке выбора каждый раз, когда мы выбираем соответствующие элементы из массива, затем поместите его на соответствующую позицию. Затем применяя эту технику в остальных элементах списка, мы получим наш отсортированный массив.

Пусть, у нас пять номеров 10, 5, 2, 8, 7, и нам нужно сортировать эти цифры в порядке возрастания. Для этого используйте алгоритм сортировки отбора. (рисунок 1)

Шаг-1: Сначала нам нужно найти наименьшее число из списка чисел. В этом случае число 2. Теперь принося 2 в первую позицию списка. Затем старое положение Exchange 2 с 10 (10 было в первой позиции). После этого шаг наш список выглядит так. (рис. 2)

Шаг 2: Теперь у нас есть наименьшее число в начале списка. Итак, теперь мы узнаем наименьшее число от остальных четырех чисел. Это 5. Здесь 5 это правильное положение. Вот почему нет необходимости обманывать. (рис. 3)

Шаг 3: На этом этапе мы узнаем наименьшее число среди 10, 8, 7. Вот 7 самая маленькая. Теперь принося 7 в первую очередь среди этих трех чисел. И обмениваться положением 10. Теперь наш список выглядит как – 2, 5, 7, 8, 10, и мы знаем, что первые три числа в правильном положении. (рис. 4)

Шаг-4: Теперь найдите самый маленький между 8 и 10. Здесь 8 – самый маленький, и он находится в правильном положении. Итак, нет необходимости обменяться позициями. (рис. 5)

В течение 5 номеров 4 из них отсортированы. Итак, последний естественно в правильном положении. Наконец, наш список полностью отсортирован. (рис. 6)

Алгоритм отбора сортировки подробно:

Вход: Список Л есть n Количество элементов.

Шаг-1: Пусть я

Шаг 2: Если Я больше или равно (N-1) ; Перейти к шагу 11.

Шаг 3: Пусть индекс наименьших элементов списка есть, index_min.

Шаг-4: Пусть, J + 1.

Шаг-5: если J больше или равно n Затем перейдите к шагу 9

Шаг-6: если L [j] Перейти к следующему шагу, еще перейдите к шагу 8.

Шаг-7: index_min.

Шаг-8: Приращение J по 1 Затем перейдите к шагу 5.

Шаг-9: Если Я и index_min не равен, а затем поменять значение Л [я] и L [index_min]

Шаг-10: Увеличение Я по 1

Шаг-11: Список теперь отсортирован по возрастанию.

Реализация в Python 3

def selection_sort(L):
    n = len(L)

    for i in range(0, n-1):
        index_min = i

        for j in range(i+1, n):
            if L[j] < L[index_min]:
                index_min = j

        if index_min != i:
            L[i], L[index_min] = L[index_min], L[i]


if __name__ == "__main__":
    L = [10, 5, 2, 8, 7]
    print("Before sort:", L)
    selection_sort(L)
    print("After sort:", L)

Этот блог, ранее опубликованный на medium.com

Оригинал: “https://dev.to/akiltipu/algorithm-selection-sort-how-it-works-and-implementation-in-python-2j9k”