Fast and Simple Compact Hashing via Bucketing
-
Published:2022-06-29
Issue:9
Volume:84
Page:2735-2766
-
ISSN:0178-4617
-
Container-title:Algorithmica
-
language:en
-
Short-container-title:Algorithmica
Author:
Köppl DominikORCID, Puglisi Simon J., Raman Rajeev
Abstract
AbstractCompact hash tables store a set S of n key-value pairs, where the keys are from the universe $$U = \{0,\ldots ,u-1\}$$
U
=
{
0
,
…
,
u
-
1
}
, and the values are $$v$$
v
-bit integers, in close to $${{\mathcal {B}}(u, n)} + nv$$
B
(
u
,
n
)
+
n
v
bits of space, where $${{\mathcal {B}}(u, n)} = \log _2 {{u} \atopwithdelims (){n}}$$
B
(
u
,
n
)
=
log
2
u
n
is the information-theoretic lower bound for representing the set of keys in S, and support operations insert, delete and lookup on S. Compact hash tables have received significant attention in recent years, and approaches dating back to Cleary [IEEE T. Comput, 1984], as well as more recent ones have been implemented and used in a number of applications. However, the wins on space usage of these approaches are outweighed by their slowness relative to conventional hash tables. In this paper, we demonstrate that compact hash tables based upon a simple idea of bucketing practically outperform existing compact hash table implementations in terms of memory usage and construction time, and existing fast hash table implementations in terms of memory usage (and sometimes also in terms of construction time), while having competitive query times. A related notion is that of a compact hash ID map, which stores a set $${\hat{S}}$$
S
^
of n keys from U, and implicitly associates each key in $${\hat{S}}$$
S
^
with a unique value (its ID), chosen by the data structure itself, which is an integer of magnitude O(n), and supports inserts and lookups on $${\hat{S}}$$
S
^
, while using space close to $${{\mathcal {B}}(u,n)}$$
B
(
u
,
n
)
bits. One of our approaches is suitable for use as a compact hash ID map.
Funder
Japan Society for the Promotion of Science
Publisher
Springer Science and Business Media LLC
Subject
Applied Mathematics,Computer Science Applications,General Computer Science
Reference33 articles.
1. Arbitman, Y., Naor, M., Segev, G.: Backyard cuckoo hashing: constant worst-case operations with a succinct representation. In: Proceedings of FOCS, pp. 787–796 (2010) 2. Blandford, D.K., Blelloch, G.E.: Compact representations of ordered sets. In: Proceedings of SODA, pp. 11–19 (2004) 3. Blandford, D.K., Blelloch, G.E.: Compact dictionaries for variable-length keys and data with applications. ACM Trans. Algorithms 4(2), 17:1-17:25 (2008) 4. Brodnik, A., Munro, J.I.: Membership in constant time and almost-minimum space. SIAM J. Comput. 28(5), 1627–1640 (1999) 5. Carlini, P., Edwards, P., Gregor, D., Kosnik, B., Matani, D., Merrill, J., Mitchell, M., Myers, N., Natter, F., Olsson, S., Rus, S., Tavory, A., Wakely J.: The GNU C++ Library Manual. FSF, Johannes Singler (2018)
|
|