Encyclopedia of Algorithms

2016 Edition
| Editors: Ming-Yang Kao

String Sorting

  • Rolf Fagerberg
Reference work entry
DOI: https://doi.org/10.1007/978-1-4939-2864-4_408

Years and Authors of Summarized Original Work

  • 1997; Bentley, Sedgewick

Problem Definition

The problem is to sort a set of strings into lexicographical order. More formally: A string over an alphabet\(\varSigma\)


Sorting of multidimensional keys Vector sorting 
This is a preview of subscription content, log in to check access.



Research supported by Danish Council for Independent Research, Natural Sciences.

Recommended Reading

  1. 1.
    Aggarwal A, Vitter JS (1988) The input/output complexity of sorting and related problems. Commun ACM 31:1116–1127MathSciNetCrossRefGoogle Scholar
  2. 2.
    Andersson A, Nilsson S (1994) A new efficient radix sort. In: Proceedings of the 35th annual symposium on foundations of computer science (FOCS’94), Santa Fe. IEEE Computer Society Press, pp 714–721CrossRefGoogle Scholar
  3. 3.
    Andersson A, Nilsson S (1998) Implementing radixsort. ACM J Exp Algorithmics 3:7MathSciNetzbMATHCrossRefGoogle Scholar
  4. 4.
    Arge L, Ferragina P, Grossi R, Vitter JS (1997) On sorting strings in external memory (extended abstract). In: Proceedings of the 29th annual ACM symposium on theory of computing (STOC’97), El Paso. ACM, pp 540–548Google Scholar
  5. 5.
    Bentley J, Sedgewick R (1998) Algorithm alley: sorting strings with three-way radix quicksort. Dr Dobb’s J Softw Tools 23:133–134, 136–138Google Scholar
  6. 6.
    Bentley JL, McIlroy MD (1993) Engineering a sort function. Softw Pract Exp 23:1249–1265CrossRefGoogle Scholar
  7. 7.
    Fagerberg R, Pagh A, Pagh R (2006) External string sorting: faster and cache-oblivious. In: Proceedings of the 23rd annual symposium on theoretical aspects of computer science (STACS’06), Marseille. LNCS, vol 3884. Springer, pp 68–79Google Scholar
  8. 8.
    Franceschini G, Grossi R (2004) A general technique for managing strings in comparison-driven data structures. In: Proceedings of the 31st international colloquium on automata, languages and programming (ICALP’04), Turku. LNCS, vol 3142. Springer, pp 606–617Google Scholar
  9. 9.
    Franceschini G, Grossi R (2005) Optimal in-place sorting of vectors and records. In: Proceedings of the 32nd international colloquium on automata, languages and programming (ICALP’05), Lisbon. LNCS, vol 3580. Springer, pp 90–102Google Scholar
  10. 10.
    Grossi R, Italiano GF (1999) Efficient techniques for maintaining multidimensional keys in linked data structures. In: Proceedings of the 26th international colloquium on automata, languages and programming (ICALP’99), Prague. LNCS, vol 1644. Springer, pp 372–381Google Scholar
  11. 11.
    Han Y, Thorup M (2002) Integer sorting in \(O(n\sqrt{\log \log n})\)expected time and linear space. In: Proceedings of the 43rd annual symposium on foundations of computer science (FOCS’02), Vancouver. IEEE Computer Society Press, pp 135–144Google Scholar
  12. 12.
    McIlroy PM, Bostic K, McIlroy MD (1993) Engineering radix sort. Comput Syst 6:5–27Google Scholar
  13. 13.
    Mehlhorn K (1979) Dynamic binary search. SIAM J Comput 8:175–198MathSciNetzbMATHCrossRefGoogle Scholar
  14. 14.
    Sedgewick, R (2003) Algorithms in Java, Parts 1–4, 3rd edn. Addison-Wesley, BostonGoogle Scholar
  15. 15.
    Sedgewick R, Bentley J (1997) Fast algorithms for sorting and searching strings. In: Proceedings of the 8th annual ACM-SIAM symposium on discrete algorithms (SODA’97), New Orleans. ACM, pp 360–369Google Scholar
  16. 16.
    Sinha R, Zobel J, Ring D (2006) Cache-efficient string sorting using copying. ACM J Exp Algorithmics 11: Article No. 1.2Google Scholar

Copyright information

© Springer Science+Business Media New York 2016

Authors and Affiliations

  1. 1.Department of Mathematics and Computer ScienceUniversity of Southern DenmarkOdenseDenmark