Sortare Radix

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare
Sortare Radix
Radix.JPG
Exemplu de funcționare a algoritmului.
Clasă Algoritm de sortare
Structură de date Matrice
Cel mai rău caz din punct de vedere temporal
Cel mai rău caz spațial
Optim Depinde de date

Sortarea Radix este un algoritm de sortare pentru valori numerice întregi cu complexitate de calcul O ( ), unde este este lungimea matricei și este media numărului de cifre al numere.

Sortarea Radix utilizează o procedură contraintuitivă pentru oameni, dar mai ușor de implementat. Sortează după poziția cifrei, dar începând de la cea mai puțin semnificativă cifră. Aceasta este astfel încât algoritmul să nu funcționeze recursiv pe subprobleme de dimensiune care nu pot fi evaluate a priori.

Considerații de algoritm

Algoritmul de sortare Radix are o complexitate de calcul variabilă bazată pe valoarea k. Dacă k este mai mic decât n, nu există câștig în ceea ce privește sortarea de numărare care funcționează în timp liniar.

Dacă k este mai mare decât n, algoritmul poate fi mai rău chiar decât algoritmii de clasificare mai clasici pentru comparație de timp aproape liniară, cum ar fi Quicksort sau Mergesort .

Folosind o valoare ca bază a algoritmului timpul de sortare devine

Definiția anterioară este demonstrabilă prin amintirea faptului că există trece de tip întreg și fiecare ia timp .

Folosind regulile pentru schimbarea bazei logaritmilor , timpul total este dat de .

La această cantitate trebuie adăugată să contemplăm cazul în care k <n, întrucât secvența trebuie cel puțin citită.

Pseudo cod

 RADIX-SORT (A, d)
   pentru i <- 1 la d
       do folosește o sortare stabilă pentru a sorta matricea A pe cifra i

fundal

Radix Sort este algoritmul folosit de mașini pentru sortarea cărților perforate , care se găsesc acum doar în muzeele de calculatoare.

Alte proiecte

Informatică Portal IT : accesați intrările Wikipedia care se ocupă cu IT