RF7VY1C3G78X2
Fotografia przedstawia bąbelki z powietrzem pod wodą.

Sortowanie bąbelkowe

Źródło: Eliška Motisová, domena publiczna.

Jednym z najdłużej używanych algorytmów jest algorytm sortowania bąbelkowego. Wynika to prawdopodobnie z prostoty implementacji i przejrzystej składni. Jest to jeden z wielu algorytmów sortowania, o których możesz dowiedzieć się więcej z e‑materiału: Wstęp do algorytmów sortowaniaPiVb7f8s2Wstęp do algorytmów sortowania.

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.

Implementację algorytmu sortowania bąbelkowego w różnych językach programowania przedstawiamy w e‑materiałach:

Więcej zadań? Przejdź do: Sortowanie babelkowe – zadania maturalnePTu5u8wFwSortowanie babelkowe – zadania maturalne.

Twoje cele
  • 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ą sortowania bąbelkowego.