We describe new implementations of MSD radix sort for efficiently sorting large collections of strings. Our implementations are significantly faster than previous MSD radix sort implementations, and in fact faster than any other string sorting algorithm on several data sets. We also describe a new variant that achieves high space-efficiency at a small additional cost on runtime.


Input Array Algorithmic Cache Bucket Size Radix Sort Dynamic Data Structure 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Andersson, A., Nilsson, S.: A new efficient radix sort. In: Proc. 35th IEEE Symposium on the Foundations of Computer Science, pp. 714–721. IEEE Computer Society, Los Alamitos (1994)CrossRefGoogle Scholar
  2. 2.
    Andersson, A., Nilsson, S.: Implementing radixsort. ACM Journal of Experimental Algorithmics 3 (1998) Article No. 7 Google Scholar
  3. 3.
    Bentley, J.L., Sedgewick, R.: Fast algorithms for sorting and searching strings. In: Proc. 8th ACM-SIAM Symposium on Discrete Algorithms, pp. 360–369. SIAM, Philadelphia (1997)Google Scholar
  4. 4.
    Franceschini, G., Muthukrishnan, S., Patrascu, M.: Radix sorting with no extra space. In: Arge, L., Hoffmann, M., Welzl, E. (eds.) ESA 2007. LNCS, vol. 4698, pp. 194–205. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  5. 5.
    Kärkkäinen, J., Sanders, P., Burkhardt, S.: Linear work suffix array construction. Journal of the ACM 53(6), 918–936 (2006)MathSciNetCrossRefzbMATHGoogle Scholar
  6. 6.
    McIlroy, P.M., Bostic, K., McIlroy, M.D.: Engineering radix sort. Computing Systems 6(1), 5–27 (1993)Google Scholar
  7. 7.
    Ng, W., Kakehi, K.: Cache efficient radix sort for string sorting. IEICE Transactions on Fundamentals of Electronics, Communications and Computer Sciences E90-A(2), 457–466 (2007)CrossRefGoogle Scholar
  8. 8.
    Paige, R., Tarjan, R.E.: Three partition refinement algorithms. SIAM Journal on Computing 16(6), 973–989 (1987)MathSciNetCrossRefzbMATHGoogle Scholar
  9. 9.
    Puglisi, S.J., Smyth, W.F., Turpin, A.H.: A taxonomy of suffix array construction algorithms. ACM Computing Surveys 39(2) (2007)Google Scholar
  10. 10.
    Rahman, N., Raman, R.: Adapting radix sort to the memory hierarchy. ACM Journal of Experimental Algorithmics 6 (2001) Article No. 7 Google Scholar
  11. 11.
    Sinha, R., Zobel, J.: Cache-conscious sorting of large sets of strings with dynamic tries. ACM Journal of Experimental Algorithmics 9 (2004) Article No. 1.5 Google Scholar
  12. 12.
    Sinha, R., Zobel, J., Ring, D.: Cache-efficient string sorting using copying. ACM Journal of Experimental Algorithmics 11 (2006) Article No. 1.2 Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2008

Authors and Affiliations

  • Juha Kärkkäinen
    • 1
  • Tommi Rantala
    • 1
  1. 1.Department of Computer ScienceUniversity of HelsinkiFinland

Personalised recommendations