On parallel hashing and integer sorting

Yossi Matias*, Uzi Vishkin

*Corresponding author for this work

Research output: Contribution to journalArticlepeer-review


The problem of sorting n integers from a restricted range [1...m], where m is a superpolynomial in n, is considered. An o(n log n) randomized algorithm is given. Our algorithm takes O(n log log m) expected time and O(n) space. (Thus, for m = npolylog(n) we have an O(n log log n) algorithm.) The algorithm is parallelizable. The resulting parallel algorithm achieves optimal speedup. Some features of the algorithm make us believe that it is relevant for practical applications. A result of independent interest is a parallel hashing technique. The expected construction time is logarithmic using an optimal number of processors, and searching for a value takes O(1) time in the worst case. This technique enables drastic reduction of space requirements for the price of using randomness. Applicability of the technique is demonstrated for the parallel sorting algorithm and for some parallel string matching algorithms. The parallel sorting algorithm is designed for a strong and nonstandard model of parallel computation. Efficient simulations of the strong model on a CRCW PRAM are introduced. One of the simulations even achieves optimal speedup. This is probably the first optimal speedup simulation of a certain kind.

Original languageEnglish
Pages (from-to)573-606
Number of pages34
JournalJournal of Algorithms
Issue number4
StatePublished - Dec 1991


Dive into the research topics of 'On parallel hashing and integer sorting'. Together they form a unique fingerprint.

Cite this