Zawartość
Sortowanie zestawu elementów na liście jest częstym zadaniem w programowaniu. Często człowiek może wykonać to zadanie intuicyjnie. Jednak program komputerowy musi wykonać dokładną sekwencję instrukcji, aby go ukończyć, i ta sekwencja jest nazywana algorytmem. Algorytm sortowania to metoda stosowana do umieszczania listy niezorganizowanych elementów w określonej kolejności. Kolejność porządkowania jest określona przez klucz. Istnieje kilka algorytmów sortowania, które różnią się pod względem wydajności i wydajności. Niektóre znane i ważne tego typu to: sortowanie bąbelkowe, sortowanie, sortowanie i szybkie sortowanie.
Wiele elementów można zamówić za pomocą algorytmu (Thinkstock / Comstock / Getty Images)
Rodzaj bańki
Sortowanie bańki wielokrotnie zamienia sąsiednie elementy, które nie są w porządku, dopóki każda lista elementów nie będzie w sekwencji. W ten sposób przedmioty zmieniają się na liście zgodnie z ich wartościami, największymi (w przypadku kolejności rosnącej) kończącymi się na końcu każdej iteracji.
Główną zaletą tego algorytmu jest to, że jego implementacja jest łatwa i znajoma. Ponadto w przypadku sortowania bąbelkowego elementy są wymieniane bez tymczasowego przechowywania, co sprawia, że zapotrzebowanie na miejsce jest minimalne. Główną wadą jest to, że nie pokazuje dobrych wyników, gdy lista zawiera wiele elementów. Dzieje się tak, ponieważ ten rodzaj zamawiania wymaga n2 kroków przetwarzania dla każdej liczby n elementów, które będą sortowane. Dlatego sortowanie bąbelkowe jest wskazane dla nauczania akademickiego, ale nie dla rzeczywistych aplikacji.
Wybór wyboru
Sortowanie zaznaczone wielokrotnie przechodzi przez listę elementów, wybierając po jednym elemencie i umieszczając go we właściwej pozycji sekwencji.
Główną zaletą sortowania jest to, że działa dobrze na małej liście. Ponadto, ponieważ jest to algorytm porządkowania miejsc, nie wymaga tymczasowego przechowywania poza tym, co jest wymagane do przechowywania oryginalnej listy. Główną wadą jest niska wydajność na dużych listach. Podobnie jak sortowanie bąbelkowe, wymaga n2 liczby kroków dla każdego n elementów. Ponadto na jego wydajność ma wpływ początkowa kolejność elementów przed procesem przesiewania. Z tego powodu ten wybór typu jest odpowiedni tylko dla listy, w której kilka elementów jest w kolejności losowej.
Rodzaj wstawiania
Sortowanie wstawek sortuje listę wielokrotnie i za każdym razem wstawia element nieuporządkowanej sekwencji do właściwej pozycji.
Główną zaletą zamawiania płytek jest ich prostota, a także dobra wydajność na małych listach. Jest to algorytm porządkowania miejsca, więc wymagania dotyczące miejsca są minimalne. Minusem jest to, że nie działa tak dobrze, jak inne algorytmy sortowania. Aby wykonać n2 kroki, wstaw sortowanie nie działa dobrze z dużymi listami. Jest to jednak szczególnie przydatne przy listach kilku przedmiotów.
Szybkie sortowanie
Szybkie sortowanie działa zgodnie z zasadą podziału i podboju. Po pierwsze, dzieli listę elementów na dwie podlisty w oparciu o element przestawny. Wszystkie elementy na pierwszej liście podrzędnej są rozmieszczone w taki sposób, że są mniejsze niż oś obrotu, podczas gdy wszystkie elementy na drugiej liście podrzędnej są tak ustawione, aby były większe niż czop. Ten sam proces partycjonowania i organizowania jest wykonywany wielokrotnie w wynikowych podlistach, dopóki cała lista nie zostanie zorganizowana.
Szybkie sortowanie jest uważane przez niektórych za najlepszy algorytm sortowania ze względu na jego znaczną przewagę pod względem wydajności, ponieważ działa dobrze z dużą listą elementów. Zamawiając na miejscu, nie ma potrzeby dodatkowego miejsca do przechowywania. Niewielką wadą tego rozwiązania jest to, że jego najgorsza wydajność jest podobna do średniej wydajności innych algorytmów opisanych powyżej. Należy jednak pamiętać, że ten najgorszy przypadek jest bardzo rzadki. Ogólnie rzecz biorąc, szybkie sortowanie tworzy najbardziej efektywną i szeroko stosowaną metodę organizowania listy o dowolnej wielkości.