[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"doc-detail-83934-en":3,"doc-seo-83934-105":30,"detail-sidebar-cat-0-en-105":91},{"code":4,"msg":5,"data":6},0,"success",{"doc_id":7,"user_id":8,"nickname":9,"user_avatar":10,"doc_module":4,"category_id":11,"category_name":12,"doc_title":13,"doc_description":14,"doc_content":15,"file_id":16,"file_url":17,"file_type":18,"file_size":19,"view_count":20,"is_deleted":4,"is_public":21,"is_downloadable":21,"audit_status":21,"page_count":22,"language":23,"language_code":24,"site_id":25,"html_lang":24,"table_of_contents":26,"faqs":27,"seo_title":13,"seo_description":14,"update_tm":28,"read_time":29},83934,1099514068035,"Ezra","https://ap-avatar.wpscdn.com/davatar_276721f389ce27ea32af1340a28f341c",8,"Research & Report","Parallel O( √n ) Overhead LSD Radix Sort","Radsort presents a variant of LSD radix sort that sorts by least-significant digits while using only O(√n) additional space. The algorithm remains stable, supports straightforward implementation, and is designed for efficient parallelisation. For arrays larger than roughly 2MiB, Radsort outperforms a conventional out-of-place LSD radix sort. Radsort processes input as reusable blocks, separates each round into a sort phase and a fixup phase, and finalises with a block shuffling step to obtain a sorted result.","arXiv :2607 .05302v 1 [ cs .DS] 6 Jul 2026  \nParallel O ( √n ) Overhead LSD Radix Sort  \nRobert Clausecker a Zuse Institute Berlin, Germany  \nFlorian Schintke a Ȉ Zuse Institute Berlin, Germany  \n~~ Abstract ~~  \nWe present Radsort, a variant of LSD radix sort, sorting data with O( √ n) additional space. Radsort is stable, admits a simple implementation and is easy to parallelise. For arrays exceeding a size of around 2MiB it outperforms a conventional out-of-place LSD radix sort.  \n2012 ACM Subject Classiﬁcation Theory of computation → Sorting and searching Keywords and phrases cache locality, radix sort, sorting  \nSupplementary Material [https://github.com/clausecker/radsort](https://github.com/clausecker/radsort)  \n[Funding](Funding Robert Clausecker: NHR-Verein Graduate School programme)[ Robert Clausecker](Funding Robert Clausecker: NHR-Verein Graduate School programme)[: NHR-Verein Graduate School programme](Funding Robert Clausecker: NHR-Verein Graduate School programme)  \nAcknowledgements This work was produced during a secondment of the ﬁrst author at the Sanders workgroup at KIT. The author would like to thank Marvin Williams for his invaluable input.  \n 1  Introduction  \nAn LSD (least signiﬁcant digit) radix sort algorithm sorts an array A of length n holding nt-tuples of keys (key(A[i], 0) , key(A[i], 1) ,..., key(A[i], nt − 1) ) of alphabet Σ with σ symbols into lexicographic order by repeatedly sorting according to key(A[i], nt − 1) , then key(A[i], nt − 2), and so on until key(A[i], 0) . With a stable sort, identical keys end up sorted by their suﬃxes, giving a lexicographic order. A conventional LSD radix sort sorts by key(A[i], t) by ﬁrst taking a histogram H of how often each c ∈ Σ occurs. A preﬁx sum over H obtains the bucket starts S, with which we sort A into a new array A′ (Alg. 1) .  \n Algorithm 1 out-of-place LSD radix sort round  \n\n| 1 | procedure radixSortStep (A′, A, t) | ▷ sort array A by key t into A′ |\n| --- | --- | --- |\n| 2 | H ← 0 ... 0 |  |\n| 3 | for i ← 0   n − 1 do | ▷ take a histogram of key(A[i], t) |\n| 4 | H [key(A[i], t)] ← H[key(A[i], t)] + 1 |  |\n| 5 | end for |  |\n| 6 | S[0] ← 0 |  |\n| 7 | for i ← 1   σ − 1 do |  |\n| 8 | S [i] ← S[i − 1] + H[i − 1] | ▷ preﬁx sum over H |\n| 9 | end for |  |\n| 10 | for i ← 0   n − 1 do |  |\n| 11 | c ← key(A[i], t) | ▷ determine bucket |\n| 12 | A′ [S [c]] ← A[i] | ▷ sort A [i] into A′ |\n| 13 | S [c] ← S[c] + 1 | ▷ advance bucket c past new element |\n| 14 | end for |  |\n| 15 | end procedure |  |\n\n2 Parallel O ( √n) Overhead LSD Radix Sort  \nWith the input array A being consumed, output is produced in a separate array A′. While only n elements are occupied in both arrays together at any point in the algorithm, nevertheless 2n elements of storage, i. e. n elements of overhead in addition to the input, need to be provided. We would like to address this shortcoming with a novel LSD radix sort algorithm that does the job with only O ( √n) extra space at a similar performance. We call this algorithm Radsort due to it being a radical overhead radix sort.  \n Algorithm 2 the Radsort algorithm  \n\n| 1 | procedure radSort (A, n, nt) |  |\n| --- | --- | --- |\n| 2 | setup (A, n) | ▷ Alg. 4 |\n| 3 | for t ← nt − 1 ... 0 do |  |\n| 4 | sortPhase (t) | ▷ Alg. 5 |\n| 5 | fixupPhase | ▷ Alg. 6 |\n| 6 | end for |  |\n| 7 | Finalize | ▷ Alg. 7 |\n| 8 | end procedure |  |\n\n 2  Radsort  \nRadsort (Alg. 2) treats the input array A as a sequence of blocks of some block size b1 . After a block of input is consumed, its storage is reused for subsequently produced output, reducing the storage overhead to a constant number of scratch blocks, as well as some bookkeeping.  \nEach round of sorting comprises two phases. During the sort phase, one output block is initially assigned to each of the σ buckets we sort into. Once such a block is full, a new block is drawn from previously consumed input blocks, overwriting the input as it is processed. The result of the sort phase are σ randomly interle","cbCaiimBudXJrI9A","https://ap.wps.com/l/cbCaiimBudXJrI9A","pdf",1519363,4,1,16,"English","en",105,"# Introduction\n# Parallel O ( √n ) Overhead LSD Radix Sort\n## Radsort\n## Data Structures","[{\"question\":\"What problem does Radsort solve compared with conventional out-of-place LSD radix sort?\",\"answer\":\"Radsort reduces the additional memory requirement from the conventional out-of-place approach to O(√n) extra space while maintaining similar performance characteristics.\"},{\"question\":\"How does Radsort achieve stable sorting and correct lexicographic order?\",\"answer\":\"Radsort follows the same LSD principles by repeating sorting for each key position and provides stability guarantees; it uses permutation tracking to deinterleave blocks into bucket order without physically moving blocks.\"},{\"question\":\"What are the main phases of each sorting round in Radsort?\",\"answer\":\"Each round consists of a sort phase, where output blocks are assigned and overwritten as they are produced into bucket sequences, and a fixup phase that deinterleaves those sequences using a permutation to restore bucket-ordered data blocks.\"}]",1784191536,40,{"code":4,"msg":31,"data":32},"ok",{"site_id":25,"language":24,"slug":33,"title":13,"keywords":34,"description":14,"schema_data":35,"social_meta":86,"head_meta":88,"extra_data":90,"updated_unix":28},"parallel-o-n-overhead-lsd-radix-sort","",{"@graph":36,"@context":85},[37,53,68],{"@type":38,"itemListElement":39},"BreadcrumbList",[40,44,48,51],{"item":41,"name":42,"@type":43,"position":21},"https://docshare.wps.com","Home","ListItem",{"item":45,"name":46,"@type":43,"position":47},"https://docshare.wps.com/document/","Document",2,{"item":49,"name":12,"@type":43,"position":50},"https://docshare.wps.com/document/research-report/",3,{"item":52,"name":13,"@type":43,"position":20},"https://docshare.wps.com/document/parallel-o-n-overhead-lsd-radix-sort/83934/",{"url":52,"name":13,"@type":54,"author":55,"headline":13,"publisher":57,"fileFormat":60,"inLanguage":24,"description":14,"dateModified":61,"datePublished":62,"encodingFormat":60,"isAccessibleForFree":63,"interactionStatistic":64},"DigitalDocument",{"name":9,"@type":56},"Person",{"url":41,"name":58,"@type":59},"DocShare","Organization","application/pdf","2026-07-25","2026-07-16",true,{"@type":65,"interactionType":66,"userInteractionCount":20},"InteractionCounter",{"@type":67},"ViewAction",{"@type":69,"mainEntity":70},"FAQPage",[71,77,81],{"name":72,"@type":73,"acceptedAnswer":74},"What problem does Radsort solve compared with conventional out-of-place LSD radix sort?","Question",{"text":75,"@type":76},"Radsort reduces the additional memory requirement from the conventional out-of-place approach to O(√n) extra space while maintaining similar performance characteristics.","Answer",{"name":78,"@type":73,"acceptedAnswer":79},"How does Radsort achieve stable sorting and correct lexicographic order?",{"text":80,"@type":76},"Radsort follows the same LSD principles by repeating sorting for each key position and provides stability guarantees; it uses permutation tracking to deinterleave blocks into bucket order without physically moving blocks.",{"name":82,"@type":73,"acceptedAnswer":83},"What are the main phases of each sorting round in Radsort?",{"text":84,"@type":76},"Each round consists of a sort phase, where output blocks are assigned and overwritten as they are produced into bucket sequences, and a fixup phase that deinterleaves those sequences using a permutation to restore bucket-ordered data blocks.","https://schema.org",{"og:url":52,"og:type":87,"og:title":13,"og:site_name":58,"og:description":14},"article",{"robots":89,"canonical":52},"index,follow",{"doc_id":7,"site_id":25},{"code":4,"msg":5,"data":92},[93,97,101,105,110,115,119,122,127,130,134],{"id":21,"doc_module":4,"doc_module_name":46,"category_name":94,"show_sort_weight":95,"slug":96},"Story & Novel",90,"story-novel",{"id":47,"doc_module":4,"doc_module_name":46,"category_name":98,"show_sort_weight":99,"slug":100},"Literature",80,"literature",{"id":20,"doc_module":4,"doc_module_name":46,"category_name":102,"show_sort_weight":103,"slug":104},"Exam",70,"exam",{"id":106,"doc_module":4,"doc_module_name":46,"category_name":107,"show_sort_weight":108,"slug":109},5,"Comic",60,"comic",{"id":111,"doc_module":4,"doc_module_name":46,"category_name":112,"show_sort_weight":113,"slug":114},6,"Technology",50,"technology",{"id":116,"doc_module":4,"doc_module_name":46,"category_name":117,"show_sort_weight":29,"slug":118},7,"Healthcare","healthcare",{"id":11,"doc_module":4,"doc_module_name":46,"category_name":12,"show_sort_weight":120,"slug":121},30,"research-report",{"id":123,"doc_module":4,"doc_module_name":46,"category_name":124,"show_sort_weight":125,"slug":126},9,"Religion & Spirituality",20,"religion-spirituality",{"id":125,"doc_module":4,"doc_module_name":46,"category_name":128,"show_sort_weight":125,"slug":129},"World Cup","world-cup",{"id":131,"doc_module":4,"doc_module_name":46,"category_name":132,"show_sort_weight":131,"slug":133},10,"Lifestyle","lifestyle",{"id":135,"doc_module":4,"doc_module_name":46,"category_name":136,"show_sort_weight":106,"slug":137},19,"General","general"]