The Input/Output Complexity of Sorting and Related Problems

We provide tight upper and lower bounds, up to a constant factor, for the number of inputs and outputs (I/OS) between internal memory and secondary storage required for five sorting-related problems: sorting, the fast Fourier transform (FFT), permutation networks, permuting, and matrix transposition. The bounds hold both in the worst case and in the average case, and in several situations the constant factors match. Secondary storage is modeled as a magnetic disk capable of transferring P blocks each containing B records in a single time unit; the records in each block must be input from or output to B contiguous locations on the disk. We give two optimal algorithms for the problems, which are variants of merge sorting and distribution sorting. In particular we show for P = 1 that the standard merge sorting algorithm is an optimal external sorting method, up to a constant factor in the number of I/Os. Our sorting algorithms use the same number of I/Os as does the permutation phase of key sorting, except when the internal memory size is extremely small, thus affirming the popular adage that key sorting is not faster. We also give a simpler and more direct derivation of Hong and Kung's lower bound for the FFT for the special case B = P = O(1).

Permuting Information inIdealized Two-Level…Permuting Information in Idealized Two-Level StorageThe Art of ComputerProgramming: Volume 3…The Art of Computer Programming: Volume 3: Sorting and SearchingTime Bounds forSelectionTime Bounds for SelectionI/O Complexity: TheRed-Blue Pebble GameI/O Complexity: The Red-Blue Pebble GameThe Universality of theShuffle-Exchange NetworkThe Universality of the Shuffle-Exchange NetworkThe I/O Performance ofMultiway Mergesort and…The I/O Performance of Multiway Mergesort and Tag SortThe Design and Analysisof BucketSort for Bubbl…The Design and Analysis of BucketSort for Bubble Memory Secondary StoragePersonal CommunicationPersonal CommunicationExperiments on thePractical I/O Efficienc…Experiments on the Practical I/O Efficiency of Geometric Algorithms: Distribution Sweep vs. Plane SweepThe Influence of Cacheson the Performance of…The Influence of Caches on the Performance of SortingOn external memory graphtraversalOn external memory graph traversalAdapting Radix Sort tothe Memory HierarchyAdapting Radix Sort to the Memory HierarchyCache-Oblivious DataStructuresCache-Oblivious Data StructuresExponential Structuresfor Efficient…Exponential Structures for Efficient Cache-Oblivious AlgorithmsLower bounds forexternal memory…Lower bounds for external memory dictionariesAsynchronous paralleldisk sortingAsynchronous parallel disk sortingAlgorithms and DataStructures for External…Algorithms and Data Structures for External MemoryThe Input/OutputComplexity of Triangle…The Input/Output Complexity of Triangle EnumerationSmall Refinements to theDAM Can Have Big…Small Refinements to the DAM Can Have Big Consequences for Data-Structure DesignTimely Reporting ofHeavy Hitters Using…Timely Reporting of Heavy Hitters Using External MemoryThe Input/OutputComplexity of Sorting…The Input/Output Complexity of Sorting and Related Problems過去の参考文献中心の論文この論文を引用する論文古い新しい

ノードをクリックするとフォーカスを固定、空白をクリックすると本論文に戻ります。ホバーで一時的にプレビューできます。各ノードのページはタイトルから開けます。