Minimal perfect hashing for large sets of data
We present and analyze a method that permits the efficient application of minimal perfect hashing functions to much larger sets of data than previously possible. The method employs a probabilistic algorithm to obtain a separation of legal key values into disjoint subsets. The cardinality of each subset is small enough so that it can be efficiently minimally perfectly hashed. In the retrieval phase, the subset to which an input key belongs is determined and the hashing function for that subset is applied. The time complexity of locating the data associated with a given input key value is O(LogLogN). The space complexity of the algorithm is O(N LogLogN). Construction time for the necessary data structures is O(N2LogLogN).
KeywordsSearch and Retrieval Algorithms Hashing Complexity
Unable to display preview. Download preview PDF.
- Chang, C.C. The Study of an Ordered Minimal Perfect Hashing Scheme. Communications ACM 27, 4 (1984) 384–387.Google Scholar
- Cichelli, R.J. Minimum Perfect Hashing Functions Made Simple. Communications ACM 23, 1 (1980), 17–19.Google Scholar
- Fredman, M., Komlos, J. and Szemeredi, E. Storing a Sparse Table with O(1) Worst Case Access Time. JACM 31, 3 (1984) 538–544Google Scholar
- Hogg, R. and Craig, A. Introduction To Mathematical Statistics. Macmillan, New York, 1970.Google Scholar
- Jaeschke, G. Reciprocal Hashing-A Method For Generating Minimal Perfect Hashing Functions. Communications ACM 24, 12 (1981) 829–833.Google Scholar
- Mitronovic, D.S. Analytic Inequalities. Springer-Verlag, Berlin 1970Google Scholar
- Sager, T.J. A Polynomial Time Generator for Minimal Perfect Hash Functions. Communications ACM 28, 5 (1985) 523–532.Google Scholar
- Sprugnoll, R., Perfect Hashing Functions: A Single Probe Retrieval Method for Static Sets. Communications ACM 20, 11 (1977) 841–850.Google Scholar
- Winters, V., Minimal Perfect Hashing In Polynomial Time. BIT (to appear, 1990).Google Scholar