Element osiowy

Sortowanie szybkie: podział względem elementu osiowego - Informatyka - liceum klasa 2, zakres rozszerzony (Python)

**Sortowanie szybkie** (quicksort) też jest dziel i zwyciężaj, ale całą pracę wykonuje przy **podziale**: wybiera element osiowy (pivot) i rozdziela pozostałe na mniejsze od niego i nie mniejsze. Potem sortuje rekurencyjnie obie części, a łączenie jest trywialne: mniejsze, oś, większe.

def quick_sort(values):
    if len(values) <= 1:
        return values
    pivot = values[0]
    smaller = [x for x in values[1:] if x < pivot]
    larger = [x for x in values[1:] if x >= pivot]
    return quick_sort(smaller) + [pivot] + quick_sort(larger)

print(quick_sort([38, 27, 43, 3, 9, 82, 10]))

Ładowanie interaktywnego edytora... Jeśli się nie pojawi, włącz JavaScript.

Wszystkie lekcje kursu Informatyka - liceum klasa 2, zakres rozszerzony·Zaloguj się, aby zapisać postęp na koncie.