Issue No. 10 - October (1983 vol. 32)
C.P. Kruskal , Department of Computer Science, University of Illinois
We study the number of comparison steps required for searching, merging, and sorting with P processors. We present a merging algorithm that is optimal up to a constant factor when merging two lists of equal size (independent of the number of processors); as a special case, with N processors it merges two lists, each of size N, in 1.893 lg lg N + 4 comparison steps. We use the merging algorithm to obtain a sorting algorithm that, in particular, sorts N values with N processors in 1.893 lg N lg lg N/lg lg lg N(plus lower order terms) comparison steps. The algorithms can be implemented on a shared memory machine that allows concurrent reads from the same location with constant overhead at each comparison step.
sorting, Comparison problems, computational complexity, merging, parallel computation, searching
C. Kruskal, "Searching, Merging, and Sorting in Parallel Computation," in IEEE Transactions on Computers, vol. 32, no. , pp. 942-946, 1983.