|
Sortowanie szybkie (quicksort) |
|
Nadesłał Michał Knasiecki
|
|
sobota, 13 sierpień 2005 |
Algorytm sorotwania szybkiego jest uważany za najszybszy algorytm dla danych losowych.
Zasada jego działania opiera się o metodę dziel i zwyciężaj. Zbiór danych zostaje podzielony na dwa podzbiory i każdy z nich jest sortowany niezależnie od drugiego.
Dla zadanej tablicy a[l..p] wybieramy element v=a[l] i przeszukujemy resztę tablicy (tzn. a[l+1..p]) tak długo, aż nie znajdziemy elementu większego niż a[l]. Następnie przeszukujemy tą tablicę od strony prawej póki nie znajdziemy elementu nie większego niż a[l]. Gdy to osiągniemy, zamieniamy miejscami te dwa elementy i zaczynamy cały proces od początku. Algorytm działa tak długo, aż wskaźnik poruszający się w lewo i wskaźnik poruszający się w prawo spotkają się. Należy wówczas zamienić element v=a[l] z ostatnim elementem lewej części tablicy.
Mimo, że w najgorszym przypadku algorytm ma złożoność kwadratową, jest on bardzo często stosowany. Powodem tego jest niska- liniowologarytmiczna, złożoność w średnim przypadku.
Odsłon: 41356
1. Dodane przez Janusz, w dniu - 28-09-2009 00:22
 | Dzieki za objaśnienie :] ...jasniej sie już nie da :D |
|
- Jeżeli jesteś zarejestrowanym użytkownikiem, zaloguj się przed dodaniem komentarza.
- Treść komentarza powinna być związana z tematem artykułu.
- Komentarze promujące własne strony, produkty itp. będą usuwane.
|
Powered by AkoComment Tweaked Special Edition v.1.4.6 |
|
Ostatnia aktualizacja ( niedziela, 15 październik 2006 )
|