Analysis of a Universal Class of Hash Functions


In this paper we use linear algebraic methods to analyze the performance of several classes of hash functions, including the class H2 presented by Carter and Wegman. Suppose H is a suitable class, the hash functions in H map A to B, S is any subset of A whose size is equal to that of B, and x is any element of A. We show that the probability of choosing a function from H which maps x to the same value as more than t other elements of S is no greater than min (1/t2, 11/t4).

Consider a database storage and retrieval system implemented using hashing and a linked list collision resolution strategy. A corollary of the main result is that the probability that the system would perform more than t times more slowly than expected is no greater than min(1/t2,11/t4). The “performance” being considered can be either the number of memory references required to process any individual request or the number required to process an arbitrary sequence of requests.

Notice that these results do not assume that the requests to the database are random or uniformly distributed. Instead, the averaging is done over the possible choices of the actual hash function from H. Since the system designer can be sure that this choice is made randomly, the probabilities given hold for any input. It is also shown that the bound on poor performance when balanced trees are used in place of linked lists is approximately min (1/(4t), 11/(16t)). The formulas are generalized to any size S.

Meeting Name

7th Symposium on Mathematical Foundations of Computer Science, MFCS 1978 (1978: Sep. 4-8, Zakopane, Poland)


Computer Science

Keywords and Phrases

Balanced trees; Collision resolution; Database storage; Linear-algebraic; Memory references; Poor performance; System designers

International Standard Book Number (ISBN)


International Standard Serial Number (ISSN)


Document Type

Article - Conference proceedings

Document Version


File Type





© 1978 Springer Verlag, All rights reserved.