# Simple fast parallel hashing

- First Online:

DOI: 10.1007/3-540-58201-0_72

- Cite this paper as:
- Gil J., Matias Y. (1994) Simple fast parallel hashing. In: Abiteboul S., Shamir E. (eds) Automata, Languages and Programming. ICALP 1994. Lecture Notes in Computer Science, vol 820. Springer, Berlin, Heidelberg

## Abstract

A *hash table* is a representation of a set in a linear size data structure that supports constant-time membership queries. We show how to construct a hash table for any given set of n keys in *O*(lg lg *n*) parallel time with high probability, using n processors on a weak version of a crcw pram.

- 1.
Partition the input set into buckets by a random polynomial of constant degree.

- 2.
For

*t*:=1 to*O*(lg lg*n*) do - (a)
Allocate

*M*_{t}memory blocks, each of size*B*_{t}, where*M*_{t}and*B*_{t}are carefully a priori selected parameters. - (b)
Let each bucket select a block at random, and try to injectively map its keys into the block using a random linear function. Buckets that fail carry on to the next iteration.

The algorithm uses only *O*(lg lg *n*) random words, and can be implemented in a work-efficient manner.

## Preview

Unable to display preview. Download preview PDF.