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 sortowaniaWstę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:
Sortowanie bąbelkowe w języku C++Sortowanie bąbelkowe w języku C++,
Sortowanie bąbelkowe w języku JavaSortowanie bąbelkowe w języku Java,
Sortowanie bąbelkowe w języku PythonSortowanie bąbelkowe w języku Python.
Więcej zadań? Przejdź do: Sortowanie babelkowe – zadania maturalneSortowanie babelkowe – zadania maturalne.
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.