Obraz-algorytm

Sortowanie przez wstawianie
(z wyszukiwaniem binarnym)


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

Algorytm ten jest usprawnieniem sortowania przez wstawianie, polegającym na tym, że do wyszukania pozycji dla elementu wstawianego do ciągu uporządkowanego, stosowany jest algorytm wyszukiwania binarnego. Dzięki temu usprawnieniu algorytm sortowania przez wstawianie osiąga efektywność zbliżoną do efektywności najlepszych algorytmów sortowania.

Należy jednak pamiętać, że chociaż algorytm ten jest bardzo efektywny ze względu na liczbę wykonywanych porównań, to jednak operacja wstawienia elementu do ciągu uporządkowanego powoduje przesunięcie tej części elementów, które są większe od wstawianego. Jeżeli sortowanie odbywa się w tablicy, to takie przesunięcie generuje dużą liczbę zamian elementów miejscami - w sumie rzędu n2.

Ponieważ w poniższej demonstracji główny nacisk jest położony na operacje porównania, algorytm osiąga wydajność porównywalną lub lepszą z efektywnością algorytmów sortowania szybkiego i sortowania stogowego. Praktycznie jednak duża liczba zamian zmienia nieco ten obraz.

obraz-działanie

Demonstracja

Poniższy applet demonstruje działanie opisanego algorytmu 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 Typ danych.
  • Aby zmienić wielkość danych, użyj pola edycyjnego Wielkość danych i naciśnij przycisk Zmień dane. Wielkość danych musi być liczbą z zakresu od 5 do 300.

Sortowanie przez wstawianie (z binarnym wyszukiwaniem)

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