Developer Toolbox

Sortowanie przez wybieranie

Znajduje najmniejszą z pozostałych wartości i zamienia ją miejscami z pierwszą nieposortowaną. Zamian robi bardzo mało, ale porównań zawsze tyle samo.

  • Ω(n²)
  • Θ(n²)
  • O(n²)
  • O(1)
  • nie
  • tak
  • porównywanie
  • przenoszenie
  • bieżące minimum
  • na właściwym miejscu
0 / 399 kroków

Porównania: 0 · porównane pary: 0 z 276 porównane (ciemniej = częściej) porównywane teraz

Porównania Zamiany

Naciśnij Odtwórz, a linie pokażą, jak rośnie koszt

Naciśnij Odtwórz albo przechodź przez algorytm krok po kroku.

Spacja: odtwórz lub wstrzymaj. Strzałki lewo/prawo: krok. Home i End: przeskocz.

Spróbuj: Wybierz listę odwróconą. Porównań jest dokładnie tyle samo co dla każdej innej listy.

Jak to działa

Przejrzyj nieposortowaną część i znajdź najmniejszą wartość. Zamień ją miejscami z pierwszą nieposortowaną, a kolejna wartość trafi na właściwe miejsce. Sprawdzane są zawsze wszystkie pozostałe wartości, nawet gdy lista jest już posortowana.

Kiedy warto go użyć

Przydaje się, gdy przenoszenie danych jest kosztowne, a odczyt tani, bo na każdym miejscu robi najwyżej jedną zamianę. Poza tym zwykle lepiej wybrać sortowanie przez wstawianie.