Skip Navigation

The Computer Journal 1993 36(6):579-587; doi:10.1093/comjnl/36.6.579
© 1993 by British Computer Society
This Article
Right arrow Full Text (PDF)
Right arrow Alert me when this article is cited
Right arrow Alert me if a correction is posted
Services
Right arrow Email this article to a friend
Right arrow Similar articles in this journal
Right arrow Similar articles in ISI Web of Science
Right arrow Alert me to new issues of the journal
Right arrow Add to My Personal Archive
Right arrow Download to citation manager
Right arrow Search for citing articles in:
ISI Web of Science (3)
Right arrowRequest Permissions
Google Scholar
Right arrow Articles by Czech, Z. J.
Right arrow Articles by Majewski, B. S.
Right arrow Search for Related Content
Social Bookmarking
 Add to CiteULike   Add to Connotea   Add to Del.icio.us  
What's this?

A Linear Time Algorithm for Finding Minimal Perfect Hash Functions

Z. J. Czech1 * and B. S. Majewski2 §

1 Institutes of Computer Science, Silesia University of Technology, and Polish Academy of Sciences, 44-100 Gliwice, Poland, 2 Key Centre for Software Technology, University of Queensland, Queensland 4071, Australia

A new algorithm for finding minimal perfect hash functions (MPHF) is proposed. The algorithm given three pseudorandom functions, h0, h1 and h2, searches for a function g such that F(w)=(h0(w)+(h1(w))+g(h2(w)) mod m is a MPHF, where m is a number of input words. The algorithm involves generation of random bipartite graphs and runs in linear time. The hash function generated is represented by using 2m+O(1) memory words of log m bits each. The empirical observations show that the algorithm runs very fast in practice.


Received July 7, 1992. revised November 25, 1992.

* Institutes of Computer Science, Silesia University of Technology, and Polish Academy of Sciences, 44-100 Gliwice, Poland

§ Key Centre for Software Technology, University of Queensland, Queensland 4072, Australia


Add to CiteULike CiteULike   Add to Connotea Connotea   Add to Del.icio.us Del.icio.us    What's this?




Disclaimer:
Please note that abstracts for content published before 1996 were created through digital scanning and may therefore not exactly replicate the text of the original print issues. All efforts have been made to ensure accuracy, but the Publisher will not be held responsible for any remaining inaccuracies. If you require any further clarification, please contact our Customer Services Department.