Journal of Algorithms
Efficient hashing with lookups in two memory accesses
SODA '05 Proceedings of the sixteenth annual ACM-SIAM symposium on Discrete algorithms
Probability and Computing: Randomized Algorithms and Probabilistic Analysis
Probability and Computing: Randomized Algorithms and Probabilistic Analysis
Indexing time vs. query time: trade-offs in dynamic information retrieval systems
Proceedings of the 14th ACM international conference on Information and knowledge management
Balanced allocation and dictionaries with tightly packed constant size bins
Theoretical Computer Science
Hashing, searching, sketching
Efficient on-line index maintenance for dynamic text collections by using dynamic balancing tree
Proceedings of the sixteenth ACM conference on Conference on information and knowledge management
Compact dictionaries for variable-length keys and data with applications
ACM Transactions on Algorithms (TALG)
The limits of buffering: a tight lower bound for dynamic membership in the external memory model
Proceedings of the forty-second ACM symposium on Theory of computing
Proceedings of the twenty-ninth ACM SIGMOD-SIGACT-SIGART symposium on Principles of database systems
Cache-Oblivious dictionaries and multimaps with negligible failure probability
MedAlg'12 Proceedings of the First Mediterranean conference on Design and Analysis of Algorithms
Hi-index | 0.00 |
Many data structures support dictionaries, also known as maps or associative arrays, which store and manage a set of key-value pairs. A multimap is a generalization that allows multiple values to be associated with the same key. For example, the inverted file data structure commonly used in search engines is a type of multimap, with words as keys and document pointers as values. We study the multimap abstract data type and how it can be implemented efficiently online in external memory frameworks, with constant expected I/O performance. The key technique used to achieve our results is a combination of cuckoo hashing using buckets that hold multiple items with a multiqueue implementation to cope with varying numbers of values per key. Our results are provably optimal up to constant factors.