R14DULA7ULVOX
Zdjęcie przedstawia owoce sezonowe w małych pojemnikach, porzeczki, jagody, borówki, maliny i poziomki.

I_P_W14_M11 Sortowanie metodą bąbelkową

Źródło: Alex Block, 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. 

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ę

R11VHXQZEPN79
Ćwiczenie 1
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ą algorytmu sortowania bąbelkowego.