1Partially supported by the Future and Emerging Technologies program of the EU under contract number IST1999-14186 (ALCOM-FT). This work was initiated while visiting Stanford University, and the draft manuscript completed at Aarhus University.
2This work was done while staying at Aarhus University.
The authors thank Andrei Broder, Martin Dietzfelbinger, Rolf Fagerberg, Peter Sanders, John Tromp, and Berthold Vöcking for useful comments and discussions on this paper and Cuckoo Hashing in general.
A.V. Aho, D. Lee, Storing a dynamic sparse table, in: Proceedings of the 27th Annual Symposium on Foundations of Computer Science (FOCS ’86), IEEE Comput. Soc. Press, 1986, pp. 55–60.
Y. Azar, A.Z. Broder, A.R. Karlin, E. Upfal, Balanced allocations, SIAM J. Comput. 29 (1) (1999) 180–200.
P. Berenbrink, A. Czumaj, A. Steger, B. Vöcking, Balanced allocations: the heavily loaded case, in: Proceedings of the 32nd Annual ACM Symposium on Theory of Computing (STOC ’00), ACM Press, 2000, pp. 745–754.
R.P. Brent, Reducing the retrieval time of scatter storage techniques, Commun. ACM 16 (2) (1973) 105–109.
A.Z. Broder, A.R. Karlin, Multilevel adaptive hashing, in: Proceedings of the 1st Annual ACM–SIAM Symposium on Discrete Algorithms (SODA ’90), ACM Press, 1990, pp. 43–53.
A.Z. Broder, M. Mitzenmacher, Using multiple hash functions to improve IP lookups, in: Proceedings of the 20th Annual Joint Conference of the IEEE Computer and Communications Societies (INFOCOM 2001), vol. 3, IEEE Comput. Soc. Press, 2001, pp. 1454–1463.
J.L. Carter, M.N. Wegman, Universal classes of hash functions, J. Comput. System Sci. 18 (2) (1979) 143–154.
M. Dietzfelbinger, J. Gil, Y. Matias, N. Pippenger, Polynomial hash functions are reliable (extended abstract), in: Proceedings of the 19th International Colloquium on Automata, Languages and Programming (ICALP ’92), in: Lecture Notes in Comput. Sci., vol. 623, Springer-Verlag, 1992, pp. 235–246.
M. Dietzfelbinger, T. Hagerup, J. Katajainen, M. Penttonen, A reliable randomized algorithm for the closest-pair problem, J. Algorithms 25 (1) (1997) 19–51.
M. Dietzfelbinger, A. Karlin, K. Mehlhorn, F. Meyer auf der Heide, H. Rohnert, R.E. Tarjan, Dynamic perfect hashing: upper and lower bounds, SIAM J. Comput. 23 (4) (1994) 738–761.
M. Dietzfelbinger, F. 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), in: Lecture Notes in Comput. Sci., vol. 443, Springer-Verlag, 1990, pp. 6–19.
M. Dietzfelbinger, P. Woelfel, Almost random graphs with simple hash functions, in: Proceedings of the 35th Annual ACM Symposium on Theory of Computing (STOC ’03), 2003, pp. 629–638.
A.I. Dumey, Indexing for rapid random access memory systems, Computers and Automation 5 (12) (1956) 6–9.
D. Fotakis, R. Pagh, P. Sanders, P. Spirakis, Space efficient hash tables with worst case constant access time, in: Proceedings of the 20th Symposium on Theoretical Aspects of Computer Science (STACS ’03), in: Lecture Notes in Comput. Sci., vol. 2607, Springer-Verlag, 2003, pp. 271–282.
M.L. Fredman, J. Komlós, E. Szemerédi, Storing a sparse table with O(1) worst case access time, J. Assoc. Comput. Mach. 31 (3) (1984) 538–544.
G. Gonnet, Handbook of Algorithms and Data Structures, Addison–Wesley, 1984.
G.H. Gonnet, J.I. Munro, Efficient ordering of hash tables, SIAM J. Comput. 8 (3) (1979) 463–478.
R.M. Karp, M. Luby, F. Meyer auf der Heide, Efficient PRAM simulation on a distributed memory machine, Algorithmica 16 (4–5) (1996) 517–542.
J. Katajainen, M. Lykke, Experiments with universal hashing, Technical Report DIKU, Technical Report 96/8, University of Copenhagen, 1996.
D.E. Knuth, Sorting and Searching, in: The Art of Computer Programming, vol. 3, 2nd ed., Addison–Wesley, Reading, MA, 1998.
J.A.T. Maddison, Fast lookup in hash tables with direct rehashing, The Computer Journal 23 (2) (1980) 188–189.
E.G. Mallach, Scatter storage techniques: a uniform viewpoint and a method for reducing retrieval times, The Computer Journal 20 (2) (1977) 137–140.
G. Marsaglia, The Marsaglia random number CDROM including the diehard battery of tests of randomness, http://stat.fsu.edu/pub/diehard/.
K. Mehlhorn, S. Näher, LEDA: A Platform for Combinatorial and Geometric Computing, Cambridge University Press, 1999.
R. 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, 2001, pp. 425–432.
R. Pagh, F.F. Rodler, Cuckoo hashing, in: Proceedings of the 9th European Symposium on Algorithms (ESA ’01), in: Lecture Notes in Comput. Sci., vol. 2161, Springer-Verlag, 2001, pp. 121–133.
R. Pagh, F.F. Rodler, Cuckoo hashing, Research Series RS-01-32, BRICS, Department of Computer Science, University of Aarhus, August 2001, 21 pp.
R. Raman, S.S. Rao, Succinct dynamic dictionaries and trees, in: Proceedings of the 30th International Colloquium on Automata, Languages and Programming (ICALP ’03), in: Lecture Notes in Comput. Sci., vol. 2719, Springer-Verlag, 2003, pp. 345–356.
R.L. Rivest, Optimal arrangement of keys in a hash table, J. Assoc. Comput. Mach. 25 (2) (1978) 200–209.
P. Sanders, B. Vöcking, personal communication, 2001.
J.P. Schmidt, A. Siegel, On aspects of universality and performance for closed hashing (extended abstract), in: Proceedings of the 21st Annual ACM Symposium on Theory of Computing (STOC ’89), ACM Press, 1989, pp. 355–366.
J.P. Schmidt, A. Siegel, The analysis of closed hashing under limited randomness (extended abstract), in: Proceedings of the 22nd Annual ACM Symposium on Theory of Computing (STOC ’90), ACM Press, 1990, pp. 224–234.
A. 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), IEEE Comput. Soc. Press, 1989, pp. 20–25.
C. Silverstein, A practical perfect hashing algorithm, in: Data Structures, Near Neighbor Searches, and Methodology: Fifth and Sixth DIMACS Implementation Challenges, in: DIMACS Series in Discrete Mathematics and Theoretical Computer Science, vol. 59, American Mathematical Society, 2002, pp. 23–48.
M. Thorup, Even strongly universal hashing is pretty fast, in: Proceedings of the 11th Annual ACM–SIAM Symposium on Discrete Algorithms (SODA ’00), ACM Press, 2000, pp. 496–497.
J. Tromp, personal communication, 2003.
M. Wenzel, Wörterbücher für ein beschränktes Universum, Diplomarbeit, Fachbereich Informatik, Universität des Saarlandes, 1992.