Algorytmy sortowania w Pythonie: sortowanie bąbelkowe i łączenie

Poznaj algorytmy sortowania w Pythonie. Wizualizuj sortowanie bąbelkowe i sortowanie przez scalanie natywnie w kontekście IDE przeglądarki.

Spróbuj w Edytorze

Przegląd

Sortowanie jest jedną z najważniejszych operacji w inżynierii oprogramowania. Chociaż Python zapewnia `.sort()` natywnie przy użyciu Timsort, zrozumienie podstawowych algorytmów sortowania jest niezbędne dla wiedzy o architekturze.

Sortowanie bąbelkowe opiera się na brutalnej wymianie porównawczej O(n²). Sortowanie przez scalanie opiera się na metodologiach rekurencyjnych O(n log n) Dziel i zwyciężaj.

Dane wyjściowe kodu i wykonania

Wykonywanie standardowego sortowania bąbelkowego w celu uporządkowania tablicy w porządku rosnącym.

bubble_sort.py
Spróbuj w Edytorze
def bubble_sort(arr):
    n = len(arr)
    # Traverse through all array elements
    for i in range(n):
        swapped = False
        # Last i elements are already in place
        for j in range(0, n-i-1):
            if arr[j] > arr[j+1]:
                # Swap if the element found is greater
                arr[j], arr[j+1] = arr[j+1], arr[j]
                swapped = True
        if not swapped:
            break
    return arr

sample = [64, 34, 25, 12, 22, 11, 90]
print("Original:", sample)
print("Sorted:  ", bubble_sort(sample))
Wyjście terminala
Original: [64, 34, 25, 12, 22, 11, 90]
Sorted:   [11, 12, 22, 25, 34, 64, 90]

Wdrażanie krok po kroku

  • Oczyszczanie i organizacja potoku danych
  • Nauka podstaw informatyki
  • Wewnętrzna optymalizacja warstw wyświetlania zapytań

Często zadawane pytania

Kiedy powinienem napisać własną funkcję sortującą?

Rzadko. Algorytmów sortowania uczysz się głównie po to, aby zrozumieć złożoność algorytmiczną. W środowisku produkcyjnym zawsze używaj wbudowanej w Python metody „sorted(data)”, ponieważ jest to wysoce zoptymalizowany kod C.

Powiązane tematy