StartAlgorytmyAlgorytmy sortowaniaSortowanie szybkie (quicksort)
Baza Wiedzy
Wersja offline serwisu przeznaczona na urządzenia z systemem Android.

Darowizny
darowiznaWspomóż rozwój serwisu


Nagłówki RSS
Kanał artykuły
Kanał implementacje
Kanał komentarze
Kanał forum


Bookmarki









Sonda
Implementacji w jakim języku programowania poszukujesz?
 
Sortowanie szybkie (quicksort)
Ocena użytkowników:+++-- / 35
SłabyŚwietny 
Wpisany przez Michał Knasiecki
sobota, 13 sierpnia 2005 10:49
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.



Autor Język programowania Komentarz Otwórz Pobierz Ocena
Michał Knasiecki C/C++
Implementacja w C/C++
Implementacja w C/C++
+++-- / 10
Marian C/C++ C++
Implementacja w C/C++
Implementacja w C/C++
++++- / 8
Michał Knasiecki Delphi/Pascal
Implementacja w Delphi/Pascal
Implementacja w Delphi/Pascal
+++-- / 7
Tomasz Lubiński Java
Implementacja w Java
Implementacja w Java
+++-- / 6
 
Dodaj własną implementację tego algorytmu
  • Zaloguj się na stronie
Plik:
Język programowania:
Komentarz:
  By móc dodać implementacje zaloguj się na stronie



Poprawiony: piątek, 27 maja 2011 08:45

Komentarze

 
photo
0 # Janusz 2009-09-28 01:22
Dzieki za objaśnienie :] ...jasniej sie już nie da
Odpowiedz | Odpowiedz z cytatem | Cytować
 
 
photo
+3 # izcew 2010-03-26 13:35
mogl by ktos napisac pseldo kod tych operacji a nastepnie podac obliczenia zlozonosci obliczeniowych?
Odpowiedz | Odpowiedz z cytatem | Cytować
 
 
photo
0 # AdaMTT 2012-02-03 10:12
Mógłby ktoś napisać implementacje w c#
Odpowiedz | Odpowiedz z cytatem | Cytować
 

Dodaj komentarz

Kod antysapmowy
Odśwież