We present a simple and efficient dictionary with worst case constant lookup time, equaling the theoretical performance of the classic dynamic perfect hashing scheme of Dietzfelbinger et al. The space usage is similar to that of binary search trees, i.e., three words per key on average. The practicality of the scheme is backed by extensive experiments and comparisons with known methods, showing it to be quite competitive also in the average case.
KeywordsLoad Factor Hash Function Clock Cycle Hash Table Cache Line
Unable to display preview. Download preview PDF.
- Andrei Broder and Michael Mitzenmacher. Using multiple hash functions to improve IP lookups. To appear in INFOCOM 2001.Google Scholar
- Martin Dietzfelbinger, Joseph Gil, Yossi Matias, and Nicholas Pippenger. Polynomial hash functions are reliable (extended abstract). In Proceedings of the 19th International Colloquium on Automata, Languages and Programming (ICALP’ 92), volume 623 of Lecture Notes in Computer Science, pages 235–246. Springer-Verlag, Berlin, 1992.Google Scholar
- Martin Dietzfelbinger and Friedhelm Meyer auf der Heide. A new universal class of hash functions and dynamic hashing in real time. In Proceedings of the 17th International Colloquium on Automata, Languages and Programming (ICALP’ 90), volume 443 of Lecture Notes in Computer Science, pages 6–19. Springer-Verlag, Berlin, 1990.Google Scholar
- Arnold I. Dumey. Indexing for rapid random access memory systems. Computers and Automation, 5(12):6–9, 1956.Google Scholar
- Jyrki Katajainen and Michael Lykke. Experiments with universal hashing. Technical Report DIKU Report 96/8, University of Copenhagen, 1996.Google Scholar
- Donald E. Knuth. Sorting and Searching, volume 3 of The Art of Computer Programming. Addison-Wesley Publishing Co., Reading, Mass., second edition, 1998.Google Scholar
- George Marsaglia. The Marsaglia random number CD ROM including the diehard battery of tests of randomness. http://stat.fsu.edu/pub/diehard/.
- Catherine C. McGeoch. The fifth DIMACS challenge dictionaries. http://cs.amherst.edu/~ccm/challenge5/dicto/.
- Rasmus Pagh. On the Cell Probe Complexity of Membership and Perfect Hashing. In Proceedings of the 33rd Annual ACM Symposium on Theory of Computing (STOC’ 01). ACM Press, New York, 2001. To appear.Google Scholar
- Alan Siegel. On universal classes of fast high performance hash functions, their time-space tradeoff, and their applications. In Proceedings of the 30th Annual Symposium on Foundations of Computer Science (FOCS’ 89), pages 20–25. IEEE Comput. Soc. Press, Los Alamitos, CA, 1989.Google Scholar
- Craig Silverstein. A practical perfect hashing algorithm. Manuscript, 1998.Google Scholar
- M. Wenzel. Wörterbücher für ein beschränktes universum. Diplomarbeit, Fachbereich Informatik, Universität des Saarlandes, 1992.Google Scholar