Algoritme & struktura të dhënash

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])

Terma të lidhur