Wróć do bloga
Algorytmy

Sortowanie przez wybieranie | Selection Sort

Sortowanie przez wybieranie | Selection Sort

3 min czytania
Sortowanie przez wybieranie | Selection Sort

Sortowanie przez wybieranie – to jeden z podstawowych kroków w podróży każdego Junior Developera.
Zrozumienie i praktyczne zastosowanie podstawowych algorytmów sortowania (w tym również – sortowania przez wybieranie!) stanowi kluczowy element w rozwoju umiejętności każdego junior developera.
Chociaż w codziennej pracy profesjonalnych programistów rzadko zdarza się, aby implementowali oni algorytmy sortowania od podstaw, to zrozumienie ich działania i konstrukcji jest niezbędne.

W tym wpisie skupimy się na metodzie sortowania przez wybieranie (selection sort), pokazując krok po kroku, jak można ją zaimplementować i dlaczego jest to cenne ćwiczenie dla początkujących programistów.

Sortowanie przez wybieranie – wprowadzenie

Z tego materiału dowiesz się:

  • Czym jest sortowanie przez wybieranie?
  • Jak zaimplementować algorytm sortowania przez wybieranie?
  • Dlaczego warto zainteresować się Selection Sort?

**Sortowanie przez wybieranie (ang. Selection Sort)

**

Sortowanie przez wybieranie (ang. Selection Sort) – jest jednym z najprostszych algorytmów sortowania. Pomimo swojej prostoty, jest on skuteczny i znajduje zastosowanie, zwłaszcza w przypadku niewielkich list elementów.

Działa on w następujący sposób:

  1. Przechodzi przez całą listę elementów.
  2. Znajduje element o najmniejszej wartości.
  3. Zamienia ten element z pierwszym elementem na liście.
  4. Powtarza ten proces, wybierając teraz element o najmniejszej wartości spośród pozostałych elementów.
  5. Kontynuuje takie zamiany aż do momentu, gdy cała lista jest posortowana.

selection sort
selection sort

sortowanie przez wybieranie


Algorytm sortowania przez wybieranie

java

public static void selectionSort(int[] arr) {
 int n = arr.length;
 for (int i = 0; i < n - 1; i++) {
 int minIndex = i;
 for (int j = i + 1; j < n; j++) {
 if (arr[j] < arr[minIndex]) {
 minIndex = j;
 }
 }
 int temp = arr[minIndex];
 arr[minIndex] = arr[i];
 arr[i] = temp;
 }
}

Sortowanie przez wybieranie – kluczowe aspekty

Jednym z popularniejszych algorytmów sortowania jest sortowanie przez wybieranie.

Dlaczego warto się nim zainteresować?

  • Prostota – Sortowanie przez wybieranie jest jednym z najprostszych algorytmów sortowania i łatwo go zrozumieć oraz zaimplementować.
  • Brak dodatkowej pamięci – Jest to algorytm in-place, co oznacza, że nie wymaga dodatkowej pamięci do przechowywania sortowanych elementów.
  • Skuteczność dla małych zbiorów – W przypadku niewielkich list elementów, sortowanie przez wybieranie jest bardzo skuteczne i działa wydajnie.

Istnieją jednak pewne czynniki, które warto wziąć pod uwagę:

  • Złożoność czasowa – Ma złożoność czasową O(n^2), co sprawia, że jest niewydajny dla dużych list elementów.
  • Niestabilność – Algorytm nie jest stabilny, co oznacza, że nie gwarantuje utrzymania pierwotnej kolejności elementów o tej samej wartości.

ZOBACZ 👉: Java | Sortowanie szybkie – Quick Sort


Java – Sortowanie przez wybieranie – podsumowanie

Sortowanie przez wybieranie to prosty i skuteczny algorytm sortowania, który może być przydatny w wielu sytuacjach. Choć ma swoje ograniczenia, zwłaszcza dla dużych list, warto zrozumieć jego działanie i zaimplementować go w swoim kodzie.

Chcesz wdrożyć to u siebie?

Praktyczne kursy i wdrożenia AI oraz automatyzacji. Albo zapisz się na newsletter, żeby nie przegapić nowych treści.