External selection

  • Authors:
  • Jop F. Sibeyn

  • Affiliations:
  • Institut für Informatik, Martin-Luther-Universität, Halle, Germany

  • Venue:
  • Journal of Algorithms
  • Year:
  • 2006

Quantified Score

Hi-index 0.00

Visualization

Abstract

Sequential selection has been solved in linear time by Blum et al. [M.B. Blum, R.W. Floyd, V.R. Pratt, R.L. Rivest, R.E. Tarjan, Time bounds for selection, J. Comput. System Sci. 7 (4) (1972) 448-461 ]. Running this algorithm on a problem of size N with N M, the size of the main-memory, results in an algorithm that reads and writes O(N) elements, while the number of comparisons is also bounded by O(N). This is asymptotically optimal, but the constants are so large that in practice sorting is faster for most values of M and N.This paper provides the first detailed study of the external selection problem. A randomized algorithm of a conventional type is close to optimal in all respects. Our deterministic algorithm is more or less the same, but first the algorithm builds an index structure of all the elements. This effort is not wasted: the index structure allows the retrieval of elements so that we do not need a second scan through all the data. This index structure can also be used for repeated selections, and can be extended over time. For a problem of size N, the deterministic algorithm reads N + o(N) elements and writes only o(N) elements and is thereby optimal to within lower-order terms.