2008
DOI: 10.1145/1361192.1361194
|View full text |Cite
|
Sign up to set email alerts
|

Compact dictionaries for variable-length keys and data with applications

Abstract: We consider the problem of maintaining a dynamic dictionary T of keys and associated data for which both the keys and data are bit strings that can vary in length from zero up to the length w of a machine word. We present a data structure for this variable-bit-length dictionary problem that supports constant time lookup and expected amortized constant time insertion and deletion. It uses O(m + 3n − n log 2 n) bits, where n is the number of elements in T , and m is the total number of bits across all strings in… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1

Citation Types

0
14
0

Year Published

2010
2010
2022
2022

Publication Types

Select...
3
3
2

Relationship

1
7

Authors

Journals

citations
Cited by 20 publications
(14 citation statements)
references
References 33 publications
(41 reference statements)
0
14
0
Order By: Relevance
“…For the former, we use a "variable-bitlength array" data structure [7], and for the latter we use an approach inspired by the technique of deamortization of global rebuilding (see [29,Ch. 5]).…”
Section: Overview Of Our Algorithmsmentioning
confidence: 99%
See 2 more Smart Citations
“…For the former, we use a "variable-bitlength array" data structure [7], and for the latter we use an approach inspired by the technique of deamortization of global rebuilding (see [29,Ch. 5]).…”
Section: Overview Of Our Algorithmsmentioning
confidence: 99%
“…Definition 1 (Blandford, Blelloch [7]). A variablebit-length array (VLA) is a data structure implementing an array C1, .…”
mentioning
confidence: 99%
See 1 more Smart Citation
“…Other papers aiming at succinct labeled trees and compressed data structures for strings, e.g. [3,5,7,8,19,26,28], support powerful operations-such as path queries-and are very good in compressing data, but they do not exploit the memory hierarchy. Few papers [12,18] combine (nearly) optimal information theoretic bounds for space occupancy with good cache efficient bounds, but no experimental analysis is performed.…”
Section: Introductionmentioning
confidence: 99%
“…For this purpose, our algorithm partitions the vertices into groups with contiguous labels. The data for each vertex is stored in a compact hashtable [8] corresponding to its group. This makes it likely that data for the vertices in an insertion will share a small number of cache lines.…”
Section: Introductionmentioning
confidence: 99%