Sortowanie to proces układania elementów tablicy w taki sposób, aby można je było ułożyć w kolejności rosnącej lub malejącej. Rozważmy na przykład tablicę A = {A1, A2, A3, A4, ?? An }, tablica ma być uporządkowana rosnąco, jeśli elementy A są ułożone jak A1 > A2 > A3 > A4 > A5 > ? > An.
Rozważmy tablicę;
int A[10] = { 5, 4, 10, 2, 30, 45, 34, 14, 18, 9 )
Tablica posortowana rosnąco zostanie podana jako;
ZA[] = { 2, 4, 5, 9, 10, 14, 18, 30, 34, 45 }
Istnieje wiele technik, za pomocą których można przeprowadzić sortowanie. W tej części samouczka szczegółowo omówimy każdą metodę.
Algorytmy sortowania
Algorytmy sortowania zostały opisane w poniższej tabeli wraz z opisem.
SN | Algorytmy sortowania | Opis |
---|---|---|
1 | Sortowanie bąbelkowe | Jest to najprostsza metoda sortowania, która polega na wielokrotnym przesuwaniu największego elementu do najwyższego indeksu tablicy. Polega na porównaniu każdego elementu z sąsiednim elementem i odpowiedniej ich wymianie. |
2 | Sortowanie wiadro | Sortowanie kubełkowe jest również znane jako sortowanie pojemnikowe. Działa poprzez dystrybucję elementu w tablicy zwanej także zasobnikami. W tych algorytmach sortowania Wiadra są sortowane indywidualnie przy użyciu innego algorytmu sortowania. |
3 | Sortowanie grzebieniowe | Sortowanie grzebieniowe to zaawansowana forma sortowania bąbelkowego. Sortowanie bąbelkowe porównuje wszystkie sąsiadujące wartości, podczas gdy sortowanie grzebieniowe usuwa wszystkie wartości żółwi lub małe wartości na końcu listy. |
4 | Sortowanie zliczające | Jest to technika sortowania oparta na kluczach, tzn. obiekty zbierane są według kluczy będących małymi liczbami całkowitymi. Sortowanie zliczające oblicza liczbę wystąpień obiektów i przechowuje ich kluczowe wartości. Nowa tablica powstaje poprzez dodanie poprzednich kluczowych elementów i przypisanie do obiektów. |
5 | Sortowanie sterty | Podczas sortowania sterty, sterta Min lub Max sterta jest zachowywana z elementów tablicy, w zależności od wyboru, a elementy są sortowane poprzez usunięcie elementu głównego sterty. |
6 | Sortowanie przez wstawianie | Jak sama nazwa wskazuje, sortowanie przez wstawianie wstawia każdy element tablicy na właściwe miejsce. Jest to bardzo prosta metoda sortowania, która służy do układania talii kart podczas gry w brydża. |
7 | Sortowanie przez scalanie | Sortowanie przez scalanie opiera się na podejściu „dziel i zwyciężaj”, w którym lista jest najpierw dzielona na zestawy równych elementów, a następnie każda połowa listy jest sortowana przy użyciu sortowania przez scalanie. Posortowana lista jest ponownie łączona w celu utworzenia elementarnej posortowanej tablicy. |
8 | Szybkie sortowanie | Sortowanie szybkie to najbardziej zoptymalizowany algorytm sortowania, który wykonuje sortowanie w porównaniach O(n log n). Podobnie jak sortowanie przez scalanie, sortowanie szybkie również działa przy użyciu metody dziel i zwyciężaj. |
9 | Sortuj Radix | W przypadku sortowania Radix sortowanie odbywa się tak samo, jak sortowanie nazw według kolejności alfabetycznej. Jest to algorytm sortowania Lenear używany dla Inegerów. |
10 | Sortowanie przez wybór | Sortowanie przez wybór znajduje najmniejszy element w tablicy i umieszcza go na pierwszym miejscu listy, następnie znajduje drugi najmniejszy element w tablicy i umieszcza go na drugim miejscu. Proces ten trwa do momentu ułożenia wszystkich elementów we właściwej kolejności. Niesie czas wykonania O(n2), który jest najgorszy niż sortowanie przez wstawianie. |
jedenaście | Sortowanie powłoki | Sortowanie powłokowe to uogólnienie sortowania przez wstawianie, które przezwycięża wady sortowania przez wstawianie poprzez porównywanie elementów oddzielonych odstępem kilku pozycji. |