Quicksort
Në shqip: Renditja e shpejtë
ShpjegimiSQ
Quicksort zgjedh një element „pivot“, i vendos më të vegjlit majtas dhe më të mëdhenjtë djathtas, dhe pastaj e përsërit për secilën anë. Mesatarisht O(n log n) dhe shumë i shpejtë në praktikë; me pivot të keq mund të bëhet O(n²).
EnglishEN
Quicksort picks a “pivot” item, puts the smaller ones on the left and the bigger on the right, then repeats for each side. O(n log n) on average and very fast in practice; with a bad pivot it can become O(n²).
Si ta mendosh
Si ta ndash klasën: „kush është më i shkurtër se Ardi, majtas; më i gjatë, djathtas“ — dhe e përsërit në çdo grup.
Lexoje në anglisht
Like splitting a class: “shorter than Ardi to the left, taller to the right” — and repeating in each group.
Shembull kodipython
def quicksort(v):
if len(v) <= 1: return v
p, *tjeret = v
return quicksort([x for x in tjeret if x < p]) + [p] + \
quicksort([x for x in tjeret if x >= p])