• DocumentCode
    1111228
  • Title

    The external Heapsort

  • Author

    Wegner, Lutz M. ; Teuhola, Jukka I.

  • Author_Institution
    Univ.-GH-Kassel, West Germany
  • Volume
    15
  • Issue
    7
  • fYear
    1989
  • fDate
    7/1/1989 12:00:00 AM
  • Firstpage
    917
  • Lastpage
    925
  • Abstract
    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
  • Keywords
    sorting; storage management; Hillsort; buffer management concept; database management systems; external Heapsort; merge operations; page references; page table; performance characteristics; random-access sorting; sorting method; worst-case upper bound; Computational modeling; Computer science; Database systems; Merging; Prototypes; Resumes; Sorting; Turning; Upper bound;
  • fLanguage
    English
  • Journal_Title
    Software Engineering, IEEE Transactions on
  • Publisher
    ieee
  • ISSN
    0098-5589
  • Type

    jour

  • DOI
    10.1109/32.29490
  • Filename
    29490