Číslicové řazení

Technology
12 hours ago
8
4
2
Avatar
Author
Albert Flores

Číslicové řazení nebo také radix sort je řadicí algoritmus, který řadí celá čísla postupným procházením všech číslic (často se vstupní čísla převádějí do soustavy o jiném základu, odtud tedy název). Jelikož celočíselné hodnoty mohou reprezentovat řetězce (jména, data apod.), a dokonce i vhodně formátovaná čísla s plovoucí desetinnou čárkou, algoritmus není omezen pouze na řazení celých čísel.

Většina digitálních počítačů vnitřně reprezentuje všechna data jako binární čísla, nejpřirozenější je pro něj tedy řazení podle skupin bitů (tj. podle číslic o základu 8, 16, 32, 256 apod. +more).

V některých případech lze dosáhnout asymptotické časové složitosti až O(n) (dolní hranice). Obecně je časová složitost číslicového řazení O((z+n)*logzu), kde z je základ zvolené číselné soustavy, n počet čísel na vstupu a u je maximální rozmezí čísel na vstupu. +more Tedy pokud zvolíme za základ soustavy počet čísel na vstupu (z=n), dostáváme složitost O(n*lognu). Pokud je rozmezí čísel polynomiálně velké k velikosti vstupu, lze tedy dosáhnout časové složitosti O(n). Pro neomezeně velký rozsah vstupních čísel se číslicové řazení nehodí.

Reference

Související články

Counting sort

Externí odkazy

[url=https://web. archive. +moreorg/web/20170811032836/http://toodle. info/radixsort]Bakalářská práce popisující algoritmy číslicového řazení[/url], součástí práce je i měření výkonu algoritmů, kódy algoritmů v jazyce C# a studijní aplikace * [url=http://www. csse. monash. edu. au/~lloyd/tildeAlgDS/Sort/Radix/]Demonstrace a srovnání[/url] číslicového třídění s bublinkovým řazením, řazením slučováním a rychlým řazením implementovaný v programovacím jazyku JavaScript (anglicky) * [url=https://web. archive. org/web/20071024165257/http://www. cs. ubc. ca/spider/harrison/Java/sorting-demo. html]Stránka s vizuální demonstrací řadicích algoritmů[/url] (anglicky).

Kategorie:Řadicí algoritmy

5 min read
Share this post:
Like it 8

Leave a Comment

Please, enter your name.
Please, provide a valid email address.
Please, enter your comment.
Enjoy this post? Join Cesko.wiki
Don’t forget to share it
Top