Abstract
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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Angelino, E., Goodrich, M.T., Mitzenmacher, M., Thaler, J.: External-Memory Multimaps. CoRR abs/1104.5533 (2011)
Blandford, D., Blelloch, G.: Compact dictionaries for variable-length keys and data with applications. ACM Trans. Alg. 4(2), 1–25 (2008)
Büttcher, S., Clarke, C.L.A.: Indexing time vs. query time: trade-offs in dynamic information retrieval systems. In: Proc. of 14th ACM Conf. on Information and Knowledge Management (CIKM), pp. 317–318 (2005)
Dietzfelbinger, M., Weidling, C.: Balanced allocation and dictionaries with tightly packed constant size bins. Theoretical Computer Science 380, 47–68 (2007)
Guo, R., Cheng, X., Xu, H., Wang, B.: Efficient on-line index maintenance for dynamic text collections by using dynamic balancing tree. In: Proc. of 16th ACM Conf. on Information and Knowledge Management (CIKM), pp. 751–760 (2007)
Knuth, D.E.: Sorting and Searching. The Art of Computer Programming, vol. 3. Addison-Wesley, Reading (1973)
Mitzenmacher, M., Upfal, E.: Probability and Computing: Randomized Algorithms and Probabilistic Analysis. Cambridge University Press, New York (2005)
Pagh, R., Rodler, F.: Cuckoo hashing. Journal of Algorithms 52, 122–144 (2004)
Pagh, R., Wei, Z., Yi, K., Zhang, Q.: Cache-Oblivious Hashing. In: Proc. of PODS, pp. 297–304 (2010)
Panigrahy, R.: Efficient hashing with lookups in two memory accesses. In: Proc. of the 16th Annual ACM-SIAM Symp. on Discrete Algorithms, pp. 830–839 (2005)
Panigrahy, R.: Hashing, Searching, Sketching. Ph.D. thesis, Dept. of Computer Science, Stanford University (2006)
Verbin, E., Zhang, Q.: The limits of buffering: a tight lower bound for dynamic membership in the external memory model. In: Proc. STOC, pp. 447–456 (2010)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2011 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Angelino, E., Goodrich, M.T., Mitzenmacher, M., Thaler, J. (2011). External-Memory Multimaps. In: Asano, T., Nakano, Si., Okamoto, Y., Watanabe, O. (eds) Algorithms and Computation. ISAAC 2011. Lecture Notes in Computer Science, vol 7074. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-25591-5_40
Download citation
DOI: https://doi.org/10.1007/978-3-642-25591-5_40
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-25590-8
Online ISBN: 978-3-642-25591-5
eBook Packages: Computer ScienceComputer Science (R0)