Sortowanie szybkie

Algorytm szybkiego sortowania stosuje się najczęściej w programach i jest on najważniejszym sposobem sortowania. Jest również trudniejszy i wykorzystywany w większych bazach danych. Cechuje się niezmierną szybkością wykonania, dzieleniem danego problemu na mniejsze i rozwiązywanie ich następuje rekurencyjnie, wszystkie rozwiązane podproblemy łączą się ze sobą tworząc pełne rozwiązanie. Rekurencja, inaczej rekursja to sytuacja, kiedy funkcja odwołuje się do samej siebie. Tworzy ona swoje kopie aż do napotkania momentu, 
w którym funkcja może już wyznaczyć wynik.
 Mottem szybkiego sortowania jest dziel i zwyciężaj, które jest jednoznaczne do tego by ułatwić programowanie szybszym i sprytniejszym sposobem. Jeżeli trudno jest posortować dużą tablicę, dzielona jest ona na mniejsze, takie, które jest szybko uporządkować, do momentu aż nie zostanie już nic do sortowania.
Przy tym typie sortowania, na początek wybierana jest oś, czyli losowa liczba z tablicy, która jest linią podziału listy na dwie mniejsze. Liczby mniejsze od osi ustawiane są na lewo tablicy, natomiast większe na prawo. Zostają stworzone dwie tablice do posortowania. Kolejnym krokiem jest wyznaczenie następnych osi tych dwóch list oraz ustawienie liczb według podanego wcześniej schematu. Pojawiają się tym sposobem coraz mniejsze tablice, a także liczby w kolejności uporządkowanej. 
Do oddzielenia liczb mniejszych na lewo, większych na prawo komputer posłuży się algorytmem partycjonującym, czyli takim, który podzieli dany zbiór na podzbiory według jakiegoś kryterium.

Specyfikacja problemu szybkiego sortowania.




Lista kroków sortowania szybkiego.



Program sortujący tablicę danych za pomocą sortowania szybkiego.



Udostępnij:

0 komentarze