Sorting with minimum data movement (preliminary draft)
- 670 Downloads
In this paper, we ask whether one can sort a list of n elements using constant extra space and O(n lg n) comparisons, but only a linear number of data movements. We develop an in-place algorithm that sorts n distinct elements using linear data movements and making O(n lg n) comparisons on the average. We also improve on the existing worst case algorithms that make linear data movements. We present a family of in-place sorting algorithms, that lie between selection sort and heapsort, culminating in one that makes, in the worst case, linear data movements and O(n1+ε) comparisons for any fixed constant ε satisfying 0<ε<1. When O(n∈) extra space for pointers is available, we give an algorithm that sorts n elements using linear data movements and O(n lg n) comparisons in the worst case.
KeywordsData Movement Linear Move Sorting Algorithm Sample Element Extra Space
Unable to display preview. Download preview PDF.
- A. Aggarwal, B. Alpern, A. Chandra and M. Snir, A Model for Hierarchical Memory, Proceedings of the 19th STOC, New York, May 1987, pp 305–314.Google Scholar
- D. E. Knuth, The Art of Computer Programming. Volume III: Sorting and Searching Addison-Wesley, 1973.Google Scholar
- D. E. Knuth, Mathematical Analysis of Algorithms in Proceedings, I.F.I.P. Congress, pp 19–27, ed. C.V. Frieman, North-Holland, Amsterdam (1972)Google Scholar
- M. A. Kronrod, Optimal Ordering Algorithm without Operational Field, Soviet Math.Dokl. 10, 1969 pp 744–746.Google Scholar
- J. I. Munro, V. Raman and J. S. Salowe, Stable In Situ Sorting and Minimum Data Movement, manuscript.Google Scholar
- L. J. Slater, Generalized Hypergeometric Functions, Cambridge University Press (1966).Google Scholar