Špagetno sortiranje je analogni algoritam sa linearnom vremenskom složenošcu, koji sortira niz predmeta. Prvi ga je predstavio Alexander Dewdney u svojoj kolumni za magazin Scientific American (ili kraće SciAm).[1][2][3]
Radi jednostavnosti, pretpostavimo da sortiramo listu prirodnih brojeva. Metod sortiranja je prikazan tako da koristi nekuvane štapiće špageta:
x
iz liste, dobijamo štapić dužine x
. (Praktičan način za odabir jedinice je da pustimo da najveći broj m
u listi odgovara jednom celom štapiću špageta. U ovom slučaju ceo štapić je jednak m
jedinica špageta. Da bi dobili štapić dužine x
, jednostavno podelimo štapić na dva dela kako bi jedan deo bio dužine x
jedinica; drugi deo uklonimo.)Priprema n
štapića špageta oduzima linearno vreme. Spuštanje štapića na sto ima konstantno vreme, O(1). Ovo je moguće zbog ruke, dok štapici špageta i sto funkcionišu kao uređaj koji paralelno računa. Ako imamo n
štapića koje je potrebno ukloniti, pretpostavljajući da svaka operacija dodirivanja i uklanjanja zahteva konstantno vreme, složenost najgoreg slučaja je O(n).
Prostorna složenost je isto minimalna: O(n), izmereno štapićima špageta.