A new efficient radix sort

We present new improved algorithms for the sorting problem. The algorithms are not only efficient but also clear and simple. First, we introduce Forward Radix Sort which combines the advantages of traditional left-to-right and right-to-left radix sort in a simple manner. We argue that this algorithm will work very well in practice. Adding a preprocessing step, we obtain an algorithm with attractive theoretical properties. For example, n binary strings can be sorted in /spl Theta/ (n log(B/(n log n)+2)) time, where B is the minimum number of bits that have to be inspected to distinguish the strings. This is an improvement over the previously best known result by Paige and Tarjan (1987). The complexity may also be expressed in terms of H, the entropy of the input: n strings from a stationary ergodic process can be sorted in /spl Theta/ (n log(1/H+1)) time an improvement over the result recently presented by Chen and Reif (1993).<<ETX>>

[1]  Susanne Albers,et al.  Improved parallel integer sorting without concurrent writing , 1992, SODA '92.

[2]  Prof. Dr. Kurt Mehlhorn,et al.  Data Structures and Algorithms 1 , 1984, EATCS.

[3]  Jeffrey H. Kingston Algorithms and data structures - design, correctness, analysis , 1990, International computer science series.

[4]  Wlodzimierz Dobosiewicz,et al.  Sorting by Distributive Partitioning , 1978, Inf. Process. Lett..

[5]  Andrew Chi-Chih Yao,et al.  The complexity of searching an ordered random table , 1976, 17th Annual Symposium on Foundations of Computer Science (sfcs 1976).

[6]  John H. Reif,et al.  Using difficulty of prediction to decrease computation: fast sort, priority queue and convex hull on entropy bounded inputs , 1993, Proceedings of 1993 IEEE 34th Annual Foundations of Computer Science.

[7]  Robert E. Tarjan,et al.  Three Partition Refinement Algorithms , 1987, SIAM J. Comput..

[8]  Udi Manber,et al.  Introduction to algorithms , 1989 .

[9]  Gaston H. Gonnet,et al.  Handbook Of Algorithms And Data Structures , 1984 .

[10]  Wojciech Szpankowski (Un)expected behavior of typical suffix trees , 1992, SODA '92.

[11]  David G. Kirkpatrick,et al.  Upper Bounds for Sorting Integers on Random Access Machines , 1984, Theor. Comput. Sci..

[12]  Ronald L. Rivest,et al.  Introduction to Algorithms , 1990 .

[13]  I. Good,et al.  Ergodic theory and information , 1966 .

[14]  Dan E. Willard Searching Unindexed and Nonuniformly Generated Files in log log N Time , 1985, SIAM J. Comput..

[15]  Kurt Mehlhorn,et al.  Data Structures and Algorithms 1: Sorting and Searching , 2011, EATCS Monographs on Theoretical Computer Science.

[16]  Larry Carter,et al.  Universal Classes of Hash Functions , 1979, J. Comput. Syst. Sci..

[17]  B. Pittel Asymptotical Growth of a Class of Random Trees , 1985 .

[18]  Edward Fredkin,et al.  Trie memory , 1960, Commun. ACM.