Obraz-algorytm

Sortowanie przez wybór


Strona główna

Ważne definicje: Algorytmy sortowania:

Porównanie algorytmów

Instrukcja użytkownika

Informacja o programie

Do góry Do tyłu

obraz-opis

Opis algorytmu

Jest to chyba najbardziej intuicyjny algorytm sortowania. Polega on na wielokrotnym wyborze minimalnego elementu z coraz krótszego podciągu danych. Dokładnie ma to następujący przebieg:
  • Wybierz minimum z ciągu elementów na pozycjach od 1 do n i zamień go z pierwszym elementem.
  • Wybierz minimum z ciągu elementów na pozycjach od 2 do n i zamień go z drugim elementem (po tym kroku elementy na pozycjach od 1 do 2 są uporządkowane).
  • ...
  • Wybierz minimum z ciągu elementów na pozycjach n-1 i n i zamień go z elementem na pozycji n-1 (po tej operacji elementy na pozycjach od 1 do n-1 są uporządkowane, a element na pozycji n jest maksymalny, czyli ciąg elementów na pozycjach od 1 do n jest uporządkowany)
Znalezienie minimum w ciągu wymaga m-1 porównań, gdzie m jest długością ciągu. Algorytm sortowania przez wybór wykonuje n-1 takich operacji, a długość ciągu, z którego wybierany jest element minimalny zmienia się od n do 2.
obraz-działanie

Demonstracja

Poniższy applet demonstruje opisany algorytm sortowania. Dane do sortowania mogą być losowe, uporządkowane lub odwrotnie uporządkowane.

  • Zieloną i niebieską kropką są zaznaczone aktualnie porównywane elementy.
  • Żółtą linią jest oznaczona uporządkowana część ciągu.
  • Aby uruchomić demonstrację naciśnij Start.
  • Aby zatrzymać demonstrację naciśnij Stop.
  • Aby wykonać jeden krok algorytmu naciśnij Krok.
  • Aby przyspieszyć działanie naciśnij >.
  • Aby spowolnić działanie naciśnij <.
  • Aby zmienić typ danych użyj pola wyboru poniżej.
  • Aby zmienić wielkość danych użyj pola edycyjnego i przycisku Zmień. Wielkość danych musi być liczbą z zakresu od 5 do 300.

Sortowanie przez wybór

Typ danych:   Wielkość danych:  

Strona główna Sortowanie bąbelkowe Sortowanie przez wstawianie Sortowanie przez binarne wstawianie Sortowanie przez wybór Sortowanie przez scalanie Sortowanie przez scalanie - rozszerzone Sortowanie szybkie Sortowanie stogowe Sortowanie stogowe rozszerzone Porównanie algorytmów