This is an old revision of the document!
Algorytm nazywamy stabilnym, jeśli podczas sortowania zachowuje on kolejność występowania elementów o tym samym kluczu.
Przykład
Rodzaj posortowania | Tablica |
---|---|
tablica nieposortowana | ![]() |
tablica posortowana algorytmem stabilnym (klucz: wiek) | ![]() |
tablica posortowana algorytmem niestabilnym (klucz: wiek) | ![]() |
Uwagi do opisu algorytmów sortowania:
Jako uzupełnienie do zamieszczonych w kolejnych paragrafach opisów metod sortowania - proszę zapoznać się z animacjami:
Sortowanie przez proste wybieranie (ang. selection sort) to podstawowy algorytm sortowania, łatwy do zrozumienia i implementacji.
Algorytm polega na pobraniu kolejnego elementu z danych wejściowych i wstawieniu go w odpowiednie miejsce w tabeli wynikowej.
Zalety:
Wady:
Sortowanie bąbelkowe (ang. bubble sort) polega na porównywaniu ze sobą dwóch kolejnych elementów i - jeśli to konieczne - zamianie ich kolejności.
Nazwa metody wzięła się stąd, że kolejne porównania powodują “wypychanie” kolejnego największego elementu na koniec.
Zalety:
Wady:
Sortujemy 6-elementową tablicę tab
:
Wywołanie funkcji QuickSort()
ma postać QuickSort(tab, 0, 5)
Przykład - dla QuickSort(tab, 0, 5)
QuickSort()
dla elementów z zakresów $[l,j]$ oraz $[i,r]$: QuickSort(tab, 0, 3)
, QuickSort(tab, 4, 5)
Przykład - dla QuickSort(tab, 0, 3)
QuickSort()
tylko dla elementów z zakresu $[2,3]$ (gdyż po lewej stronie rozmiar tablicy do posortowania wynosi 1 oraz $[i,r]$): QuickSort(tab, 2, 3)
Przykład - dla QuickSort(tab, 2, 3)
Przykład - dla QuickSort(tab, 4, 5)
Zalety:
Wady:
(poziom trudności: )
Narysuj schemat blokowy sortujący tablicę metodą bąbelkową (bubble sort).
(poziom trudności: )
Narysuj schemat blokowy sortujący tablicę metodą przez proste wybieranie (selection sort).
(poziom trudności: )
Narysuj schemat blokowy sortujący tablicę metodą przez proste wstawianie (insertion sort).