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

5 Простых Методов Сортировки С Использованием Python

Привет, мир, здесь давайте рассмотрим несколько методов сортировки с использованием Python. Python стал самым модным языком программирования в наши дни…..

Автор оригинала: Team Python Pool.

“Методы сортировки С Использованием href=”https://www.python.org/”>Python”- Алгоритм сортировки используется для перестановки заданного массива или списка элементов в соответствии с оператором сравнения элементов. Оператор сравнения определяет новый порядок элементов в соответствующей структуре данных. href=”https://www.python.org/”>Python”- Алгоритм сортировки используется для перестановки заданного массива или списка элементов в соответствии с оператором сравнения элементов. Оператор сравнения определяет новый порядок элементов в соответствующей структуре данных.

Сортировка-это навык, который необходим каждому программисту и разработчику. Не только для прохождения собеседований по кодированию, но и для общего понимания самого программирования. Различные алгоритмы сортировки являются прекрасной демонстрацией того, как разработка алгоритмов может оказывать такое сильное влияние на сложность, скорость и эффективность программы.

Методы Сортировки С Использованием Python
Методы Сортировки С Использованием Python

Методы сортировки и сложность

Некоторые из методов сортировки:

1 – Методы Сортировки Выбора С Использованием Python

Выбор является одним из наиболее часто используемых методов сортировки с использованием Python. Этот алгоритм сортирует массив, многократно находя минимальный элемент (с учетом возрастающего порядка) из несортированной части и помещая его в начало. Алгоритм поддерживает два подмассива в заданном массиве.

1) Подмассив, который уже отсортирован. 2) Оставшийся подмассив, который не отсортирован.

На каждой итерации сортировки выбора минимальный элемент (с учетом порядка возрастания) из несортированного подмассива переходит в сортированный подмассив.

Блок-схема

блок-схема сортировки выбора в python
блок-схема сортировки выбора в python

Блок-схема сортировки выбора

Код/Реализация Python:

def insertion_sort(nums):
    
    for i in range(1, len(nums)):
       [i]
        
        - 1
    
        while j and nums[j] > item_to_insert:
            nums[j +[j]
            j

        nums[j +


# Verify if it works
random_list_of_nums = [9, 1, 15, 28, 6]
insertion_sort(random_list_of_nums)
print(random_list_of_nums)

2 – Сортировка Пузырьков

Алгоритм сортировки пузырьков перебирает список, сравнивая элементы попарно и меняя их местами до тех пор, пока более крупные элементы не “всплывут” в конец списка, а более мелкие элементы не останутся “внизу”.

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

блок-схема сортировки пузырьков
блок-схема сортировки пузырьков

Сортировка пузырьков

Дойдя до конца списка, он повторяет этот процесс для каждого элемента. Очевидно, чтобы оптимизировать алгоритм, мы должны остановить его, когда он закончит сортировку.

Откуда нам знать, что мы закончили сортировку? Если бы предметы были в порядке, то нам не пришлось бы менять их местами. Поэтому всякий раз, когда мы меняем значения местами, мы устанавливаем флаг True, чтобы повторить процесс сортировки. Если свопы не происходят, флаг остается False и алгоритм останавливается.

Код/Реализация Python:

def bubble_sort(nums):
   
    while swapped:
       
        for i in range(len(nums) - 1):
            if nums[i] > nums[i + 1]:
               
                nums[i], nums[i +[i + 1], nums[i]
               
               


# Verify if it works
random_list_of_nums = [5, 2, 1, 8, 4]
bubble_sort(random_list_of_nums)
print(random_list_of_nums)

3 – Методы Сортировки Вставки С Использованием Python

Алгоритм сортировки вставки-один из популярных методов сортировки с использованием Python. Здесь алгоритм сегментирует список на отсортированную и несортированную части. Он перебирает несортированный сегмент и вставляет просматриваемый элемент в правильное положение отсортированного списка.

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

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

Код/Реализация Python:

def insertion_sort(nums):
    for i in range(1, len(nums)):
       [i]
        
        - 1
       
        while j and nums[j] > item_to_insert:
            nums[j +[j]
            j
       
        nums[j +


# Verify if it works
random_list_of_nums = [9, 1, 15, 28, 6]
insertion_sort(random_list_of_nums)
print(random_list_of_nums)

4 – Быстрая сортировка

Быстрая сортировка начинается с разбиения списка – выбора одного значения списка, которое будет находиться в отсортированном месте. Это значение называется pivot. Все элементы, меньшие, чем ось, перемещаются влево. Все более крупные элементы перемещаются вправо.

блок-схема быстрой сортировки
блок-схема быстрой сортировки

Быстрая Сортировка

Зная, что ось находится на своем законном месте, мы рекурсивно сортируем значения вокруг оси до тех пор, пока не будет отсортирован весь список.

Код/Реализация Python:

def partition(arr,low,high): 
    i = ( low-1 )         # index of smaller element 
   [high]     # pivot 
  
    for j in range(low , high): 
   
        if   arr[j] < pivot: 
          
           +1 
           [j],arr[i] 
  
   [high],arr[i+1] 
    return ( i+1 ) 

def quickSort(arr,low,high): 
    if low < high: 
  
       (arr,low,high) 

        quickSort(arr, low, pi-1) 
        quickSort(arr, pi+1, high) 

# Verify if it works
random_list_of_nums = [22, 5, 1, 18, 99]
quick_sort(random_list_of_nums)
print(random_list_of_nums)

5 – Методы Сортировки Слиянием С Использованием Python

Сортировка слиянием-это алгоритм “Разделяй и властвуй”. Он делит входной массив на две половины, вызывает себя для этих двух половин, а затем объединяет две отсортированные половины. Функция merge () используется для слияния двух половин. Слияние(arr, l, m, r) – это ключевой процесс, который предполагает, что arr[l..m] и arr[m+1..r] отсортированы и объединяют два отсортированных суб-массива в один. Подробнее см. Следующую реализацию C

Мы рекурсивно делим список пополам, пока не получим списки с размером один. Затем мы объединяем каждую половину, которая была разделена, сортируя их в процессе.

блок-схема сортировки слиянием
блок-схема сортировки слиянием

Сортировка слиянием

Сортировка начинается с сравнения мельчайших элементов каждой половины. Первый элемент каждого списка-это первый элемент сравнения. Если первая половина начинается с меньшего значения, то мы добавляем его в сортированный список. Затем мы сравниваем второе наименьшее значение первой половины с первым наименьшим значением второй половины.

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

Код/Реализация Python:

def mergeSort(arr): 
    if len(arr) >1: 
       (arr)//2 #Finding the mid of the array 
       [:mid]  
       [mid:] 
  
        mergeSort(L) 
        mergeSort(R) 
  
       
          
        while i < len(L) and j < len(R): 
            if L[i] < R[j]: 
               [i] 
               
            else: 
               [j] 
               
           
          
        while i < len(L): 
           [i] 
           
           
          
        while j < len(R): 
           [j] 
           
           
  
def printList(arr): 
    for i in range(len(arr)):         
       ) 
    print() 
 
if __name__: 
    arr = [12, 11, 13, 5, 6, 7]  
    print ("Given array is",)  
    printList(arr) 
    mergeSort(arr) 
    print("Sorted array is: ",) 
    printList(arr) 

# Verify it works
random_list_of_nums = [120, 45, 68, 250, 176](random_list_of_nums)
print(random_list_of_nums)

Итак, выше приведены некоторые из популярных методов сортировки в Python. Сортировка и листинг делают take объектно-ориентированным и помогают легко реализовывать и запускать коды. Следовательно, техника сортировки очень важна.