We show that in the deterministic comparison model for parallel computation, n processors can select the k th smallest item from a set of n numbers in O(loglogn) parallel time. With this result all comparison tasks (selection, merging, sorting), now have upper and lower bounds of the same order in both random and deterministic models. 1 I N T R O D U C T I O N The study of parallel algorithms is important from both practical and theoretical points of view. It provides a context in which one may identify the difficult computational problems and a framework within which we may understand inherent similarities and differences between tasks. Permission to copy without fee all or part of this material is granted provided that the copies are not made or distributed for direct commercial advantage, the ACM copyright notice and the title of the publication and its date appear, and notice is given that copying is by permission of the Association for Computing Machinery. To copy otherwise, or to republish, requires a fee and/or specific permission. © 1986 ACM 0-89791-193-8/86/0500/0188 $00.75 Comparison problems r~selecting, sorting, and merging) are an interesting group of tasks, partly because they are so well understood in serial models. Given a set S = { a l , . . . , a n } write py = I{ah: aj<y}l for the rank of yES.', and a(i) for the the rank i element: thus pa(i } = i. Selection involves finding the rank k element, a(k), given k. The easy cases are extreme selection where k = l or k=n, and the hard case is the median, where k=rn /2 ] . Sorting is complete selection whereby each a(i) must be determined; merging cannot be more difficult than sorting. Valiant [9] introduced the parallel computation tree model for studying these tasks where only the cost of making comparisons is considered. There are n processors. On any "step", they may each make a comparison. The complexity measure is the number of steps necessary to complete the task. There is also a randomized extension where, in
[1]
Allan Borodin,et al.
Routing, Merging, and Sorting on Parallel Models of Computation
,
1985,
J. Comput. Syst. Sci..
[2]
János Komlós,et al.
An 0(n log n) sorting network
,
1983,
STOC.
[3]
Allan Borodin,et al.
Routing, merging and sorting on parallel models of computation
,
1982,
STOC '82.
[4]
Richard Cole,et al.
A Parallel Median Algorithm
,
1985,
Inf. Process. Lett..
[5]
Manuel Blum,et al.
Time Bounds for Selection
,
1973,
J. Comput. Syst. Sci..
[6]
Rüdiger Reischuk,et al.
A fast probabilistic parallel sorting algorithm
,
1981,
22nd Annual Symposium on Foundations of Computer Science (sfcs 1981).
[7]
Zvi Galil,et al.
Explicit Constructions of Linear-Sized Superconcentrators
,
1981,
J. Comput. Syst. Sci..
[8]
Leslie G. Valiant,et al.
Parallelism in Comparison Problems
,
1975,
SIAM J. Comput..