I_P_W14_M11 Sortowanie metodą bąbelkową
Jednym z najdłużej używanych algorytmów jest algorytm sortowania bąbelkowego. Wynika to prawdopodobnie z prostoty implementacji i przejrzystej składni.
Sortowanie bąbelkowe jest algorytmem liniowym bazującym na cyklicznym porównywaniu i zamianie kolejności par sąsiadujących ze sobą elementów. To algorytm stabilny, pracujący w miejscu. Oznacza to, że dla elementów o tej samej wartości zachowuje ich początkową kolejność i nie potrzebuje do swojego działania większej niż stała pamięci dodatkowej (poza pamięcią, w której przechowywane są dane wejściowe).
Algorytm sortowania bąbelkowego uznawany jest za rozwinięcie algorytmu sortowania naiwnego, które polega na badaniu kolejnych par elementów i zamianie ich miejscami, jeśli umieszczone są w złej kolejności, po czym cała operacja zaczyna się od początku. W tym e‑materiale dowiemy się, na czym polega sortowanie bąbelkowe, jak je zaimplementować i jakie są jego złożoności.
Ćwiczenie na rozgrzewkę
Przeanalizujesz działanie algorytmu sortowania bąbelkowego.
Prześledzisz, w jaki sposób można usprawnić algorytm sortowania bąbelkowego.
Zbadasz złożoność czasową oraz pamięciową algorytmu sortowania bąbelkowego.
Posortujesz przykładowy ciąg liczbowy za pomocą algorytmu sortowania bąbelkowego.