Urejanje po delih (radix sort)


Glavna stran

LSD radix sort

LSD radix urejanje pregleda niz od desne proti levi. Slika prikazuje, kako lahko samo s tremi prehodi čez datoteko opravimo sortiranje nizov s tremi znaki. Datoteko sortiramo glede na končni znak (uporabimo urejanje s štetjem – key index counting), nato glede na srednji znak in na koncu glede na prvi znak.

LSD radix urejanje

Če uporabimo za urejanje metodo, ki je stabilna lahko brez težav dokažemo, da LSD radix sortiranje deluje. Zahteva po stabilnosti pomeni, da metoda za urejanje v vsakem koraku ne pokvari urejanja s prejšnjega koraka. Tako hitro urejanje (quicksortu), ne smemo uporabljati pri urejanju po delih. Po drugi strani, pa metoda urejanja s štetjem (key-indexed counting) takoj vodi h klasičnemu in učinkovitemu algoritmu urejanja pod delih.

LSD radix sortiranje je metoda, ki so jo uporabljali stari računalniki/naprave na kartice. Te naprave so imele zmožnost razporeditve kupčka kartic na 10 manjših kupčkov glede na vzorec lukenj, ki so bile odtisnjene na izbranih stolpcih. Če je imel kupček kartic luknje na določenih stolpcih, jih je lahko operater sortiral tako, da jih je pognal na napravi s parametrom »najbolj desne cifre«. Potem jih je zopet pognal na napravi s parametrom »naslednje najbolj desne cifre«, in tako naprej, dokler ni prišel do najbolj leve cifre. Fizično skladiščenje kartic je stabilen proces, ki ga oponaša tudi urejanje s štetjem (key-indexed counting).