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.