ACM Home Page
Please provide us with feedback. Feedback
Monotone minimal perfect hashing: searching a sorted table with O(1) accesses
Full text PdfPdf (536 KB)
Source Symposium on Discrete Algorithms archive
Proceedings of the Nineteenth Annual ACM -SIAM Symposium on Discrete Algorithms table of contents
New York, New York
Pages 785-794  
Year of Publication: 2009
Authors
Djamal Belazzougui  Institut National d'Informatique, Oued Smar, Algiers, Algeria
Paolo Boldi  Università degli Studi di Milano, Italy
Rasmus Pagh  IT University of Copenhagen, Denmark
Sebastiano Vigna  Università degli Studi di Milano, Italy
Publisher
Society for Industrial and Applied Mathematics  Philadelphia, PA, USA
Bibliometrics
Downloads (6 Weeks): 7,   Downloads (12 Months): 71,   Citation Count: 0
Additional Information:

abstract   references   index terms   collaborative colleagues  

Tools and Actions: Review this Article  

ABSTRACT

A minimal perfect hash function maps a set S of n keys into the set {0, 1,..., n -- 1} bijectively. Classical results state that minimal perfect hashing is possible in constant time using a structure occupying space close to the lower bound of log e bits per element. Here we consider the problem of monotone minimal perfect hashing, in which the bijection is required to preserve the lexicographical ordering of the keys. A monotone minimal perfect hash function can be seen as a very weak form of index that provides ranking just on the set S (and answers randomly outside of S). Our goal is to minimise the description size of the hash function: we show that, for a set S of n elements out of a universe of 2w elements, O(n log log w) bits are sufficient to hash monotonically with evaluation time O(log w). Alternatively, we can get space O(n log w) bits with O(1) query time. Both of these data structures improve a straightforward construction with O(n log w) space and O(log w) query time. As a consequence, it is possible to search a sorted table with O(1) accesses to the table (using additional O(n log log w) bits). Our results are based on a structure (of independent interest) that represents a trie in a very compact way, but admits errors. As a further application of the same structure, we show how to compute the predecessor (in the sorted order of S) of an arbitrary element, using O(1) accesses in expectation and an index of O(n log w) bits, improving the trivial result of O(n w) bits. This implies an efficient index for searching a blocked memory.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
 
2
 
3
J. L. Carter and M. N. Wegman. Universal classes of hash functions. J. Comput. Syst. Sci., 18:143--154, 1979.
4
 
5
 
6
 
7
 
8
 
9
10
11
 
12
M. L. Fredman and J. Komlós. On the size of separating systems and families of perfect hash functions. SIAM J. Algebraic Discrete Methods, 5(1):61--68, 1984.
13
 
14
 
15
 
16
 
17
 
18
 
19
 
20
B. S. Majewski, N. C. Wormald, G. Havas, and Z. J. Czech. A family of perfect hashing methods. Comput. J., 39(6):547--554, 1996.
 
21
 
22
 
23
E. Porat. An optimal bloom filter replacement based on matrix solving, 2008. arXiv:0804.1845v1.
24
 
25
 
26
D. E. Willard. Log-logarithmic worst-case range queries are possible in space theta(n). Inf. Process. Lett., 17(2):81--84, 1983.
27

Collaborative Colleagues:
Djamal Belazzougui: colleagues
Paolo Boldi: colleagues
Rasmus Pagh: colleagues
Sebastiano Vigna: colleagues