A simple linear-time algorithm for in situ merging
Information Processing Letters
Sorting a random access file in situ
The Computer Journal
An average case analysis of Floyd's algorithm to construct heaps
Information and Control
SIGMOD '86 Proceedings of the 1986 ACM SIGMOD international conference on Management of data
Proceedings of the 12th symposium on Mathematical foundations of computer science 1986
A variant of Heapsort with almost optimal number of comparisons
Information Processing Letters
The art of computer programming, volume 3: (2nd ed.) sorting and searching
The art of computer programming, volume 3: (2nd ed.) sorting and searching
Communications of the ACM
Sorting and Sort Systems (The Systems programming series)
Sorting and Sort Systems (The Systems programming series)
Cache performance analysis of traversals and random accesses
Proceedings of the tenth annual ACM-SIAM symposium on Discrete algorithms
Fast priority queues for cached memory
Journal of Experimental Algorithmics (JEA)
Fast Priority Queues for Cached Memory
ALENEX '99 Selected papers from the International Workshop on Algorithm Engineering and Experimentation
High-speed parallel external sorting of data with arbitrary distribution
International Journal of High Performance Computing and Networking
Hi-index | 0.00 |
Heapsort is an internal sorting method which sorts an array of n records in place in O(n log n) time. Heapsort is generally considered unsuitable for external random-access sorting. By replacing key comparisons with merge operations on pages, it is shown how to obtain an in-place external sort which requires O(m log m) page references, where m is the number of pages which the file occupies. The new sort method (called Hillsort) has several useful properties for advanced database management systems. Not only does Hillsort operate in place, i.e., no additional external storage space is required assuming that the page table can be kept in core memory, but accesses to adjacent pages in the heap require one seek only if the pages are physically contiguous. The authors define the Hillsort model of computation for external random-access sorting, develop the complete algorithm and then prove it correct. The model is next refined and a buffer management concept is introduced so as to reduce the number of merge operations and page references, and make the method competitive to a basic balanced two-way external merge. Performance characteristics are noted such as the worst-case upper bound, which can be carried over from Heapsort, and the average-case behavior, deduced from experimental findings. It is shown that the refined version of the algorithm which is on a par with the external merge sort.