Theory and practice of monotone minimal perfect hashing

  • Authors:
  • Djamal Belazzougui;Paolo Boldi;Rasmus Pagh;Sebastiano Vigna

  • Affiliations:
  • Université Paris Diderot--Paris 77, France;Università degli Studi di Milano, Italy;IT University of Copenhagen, Denmark;Università degli Studi di Milano, Italy

  • Venue:
  • Journal of Experimental Algorithmics (JEA)
  • Year:
  • 2008

Quantified Score

Hi-index 0.00

Visualization

Abstract

Minimal perfect hash functions have been shown to be useful to compress data in several data management tasks. In particular, order-preserving minimal perfect hash functions (Fox et al. 1991) have been used to retrieve the position of a key in a given list of keys; however, the ability to preserve any given order leads to an unavoidable Ω(n log n) lower bound on the number of bits required to store the function. Recently, it was observed (Belazzougui et al. 2009) that very frequently the keys to be hashed are sorted in their intrinsic (i.e., lexicographical) order. This is typically the case of dictionaries of search engines, list of URLs of Web graphs, and so on. We refer to this restricted version of the problem as monotone minimal perfect hashing. We analyze experimentally the data structures proposed in Belazzougui et al. [2009], and along our way we propose some new methods that, albeit asymptotically equivalent or worse, perform very well in practice and provide a balance between access speed, ease of construction, and space usage.