Strukture podataka i algoritmi
|
Quick Sort - poslednja kap performansi
|
Rekurzivni pozivi u okviru Quick Sort-a su u opstem slucaju
skupa operacija na vecini racunarskih arhitektura -
trosak prilikom poziva bilo koje procedure je znacajan
i prilicna poboljsanja se mogu dobiti ekvivalentnim
iterativnim algoritmima.
Dve stvari se mogu uraditi da bi iscedilo jos malo performansi
iz vaseg procesora prilikom sortiranja:
-
Quick Sort - u svojoj uobicajenoj rekurzivnoj formi -
ima prilicno veliki konstantni faktor u odnosu na jednostavne algoritme
kao sto je sortiranje umetanjem.
Stoga, kada delovi niza postanu mali (n < ~10),
prelaz na sortiranje umetanjem za male delove ce obicno
pokazati vidljivo ubrzanje.
(Velicina pri kojoj prelaz na sortiranje umetanjem postaje efikasan
je veoma zavisna od svojstava arhitekture racunara i
mora se odredjivati za svaki zeljeni procesor ponaosob:
mada je vrednost ~10 sasvim prihvatljiv pokusaj!)
-
Napisite ceo algoritam u iterativnoj formi.
Ovo je zadatak za vezbu!
© John Morris, 1998.
Prevod sa engleskog,
Dragan Stevanovic, 2002.