logo

Algorytmy sortowania

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.