Obraz-slownik

Instrukcja użytkownika


Strona główna

Ważne definicje: Algorytmy sortowania:

Porównanie algorytmów

Instrukcja użytkownika

Informacja o programie

Do góry Do tyłu

Na głównej stronie demonstracji umieszczono definicję problemu sortowania, krótki jego opis oraz listę algorytmów sortujących, będącą jednocześnie listą odnośników do stron opisujących algorytmy. Na stronie głównej oraz na stronach opisujących poszczególne algorytmy znajdują się także odnośniki do definicji ważniejszych pojęć użytych w opisach algorytmów.

Strona poświęcona wybranemu algorytmowi sortowania zawiera krótki opis jego budowy oraz applet demonstrujący jego działanie.

Powyżej okna z demonstracją są umieszczone elementy sterujące, które umożliwiają zmianę parametrów działania appletu, w tym:

  • pole wyboru typu danych, które mają być porządkowane,
  • pole edycji wielkości porządkowanych danych,
  • przycisk Zmień dane.
Każde otwarcie strony z wybranym algorytmem sortującym powoduje utworzenie losowego ciągu danych do posortowania. Użytkownik może zmienić typ danych za pomocą pola wyboru, wtedy w programie zawartość tablicy z ciągiem danych zostaje zmieniona. Można również zmienić rozmiar porządkowanego ciągu, wpisując żądaną liczbę elementów w polu edycyjnym Wielkość danych i naciskając przycisk Zmień dane.

Proces sortowania jest kontrolowany w applecie za pomocą elementów sterujących. Po lewej stronie okna znajduje się pole edycyjne, zawierające wielkość opóźnienia, stosowanego w applecie. Liczbowa wartość w tym polu oznacza liczbę milisekund, na które będzie zatrzymany wątek sortowania, po wykonaniu każdego porównania. Wielkość opóźnienia można wpisać w tym polu (także podczas działania procedury sortującej) lub zmieniać za pomocą przycisków "<" oraz ">".

Procedurę sortującą uruchamia się za pomocą przycisku Start, a zatrzymuje przyciskiem Stop. Po zatrzymaniu sortowania można wznowić jego działanie, ponownie naciskając przycisk Start.

Dodatkową funkcją dostępną w applecie jest tryb pracy krokowej. Naciśnięcie przycisku Krok powoduje, że applet wykonuje jedną operację porównania i zatrzymuje się. Każde następne naciśnięcie tego przycisku powoduje wykonanie kolejnej operacji porównania i ponowne zatrzymanie się. Powrót do ciągłej pracy appletu następuje po naciśnięciu przycisku Start.

Postać demonstracji działania każdego algorytmu jest identyczna. Dodatkowo, dla algorytmów sortowania przez scalanie oraz sortowania stogowego dołączono demonstracje bardziej szczegółowe.

W przypadku sortowania przez scalanie, szczegółowa demonstracja ilustruje wykorzystanie operacji scalania algorytmu w pamięci dodatkowej.

Szczegółowa demonstracja sortowania stogowego jest bardziej złożona. Dane są wyświetlane w postaci drzewa binarnego. Ich ilość jest niewielka, gdyż wyświetlane są konkretne wartości liczbowe porządkowanych elementów, a nie tylko ich obraz graficzny. Applet demonstrujący algorytm pracuje w dwóch etapach:

  • budowanie kopca,
  • właściwe sortowanie z użyciem zbudowanego kopca.
Po zakończeniu budowania kopca applet zatrzymuje się. Kontynuacja działania (czyli rozpoczęcie sortowania) następuje po naciśnięciu przycisku Start. W demonstracji użyto następujących oznaczeń:
  • Elementy przed zbudowaniem kopca są zaznaczone szarym kolorem.
  • Element przetwarzany przez procedurę heapify jest zaznaczony na zielono.
  • Elementy znajdujące się w kopcu są zaznaczone białym kolorem.
  • Elementy wyłączone z kopca mają kolor odpowiadający ich wartości.
  • Porównania między elementami są zaznaczane szarą linią.
  • Zamiany elementów są zaznaczane żółtą linią.

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