Abstract
The dictionary problem is among the oldest problems in computer science. Yet our understanding of the complexity of the dictionary problem in realistic models of computation has been far from complete. Designing highly efficient dictionaries without resorting to use of randomness appeared to be a particularly challenging task. We present solutions to the static dictionary problem that significantly improve the previously known upper bounds and bring them close to obvious lower bounds. Our dictionaries have a constant lookup cost and use linear space, which was known to be possible, but the worst-case cost of construction of the structures is proportional to only loglogn times the cost of sorting the input. Our claimed performance bounds are obtained in the word RAM model and in the external memory models; only the involved sorting procedures in the algorithms need to be changed between the models.
Extended abstract. Additional details and proofs can be found in a version on the author’s web page.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Aggarwal, A., Vitter, J.S.: The input/output complexity of sorting and related problems. Commun. ACM 31(9), 1116–1127 (1988)
Albers, S., Hagerup, T.: Improved parallel integer sorting without concurrent writing. In: Proceedings of the 3rd ACM-SIAM Symposium on Discrete Algorithms (SODA), pp. 463–472 (1992)
Alon, N., Naor, M.: Derandomization, witnesses for Boolean matrix multiplication and construction of perfect hash functions. Algorithmica 16(4-5), 434–449 (1996)
Andersson, A.: Sublogarithmic searching without multiplications. In: Proc. 36th Symposium on Foundations of Computer Science (FOCS), pp. 655–663 (1995)
Brodal, G.S., Fagerberg, R.: On the limits of cache-obliviousness. In: Proc. 35th Annual ACM Symposium on Theory of Computing, pp. 307–315 (2003)
Carter, J.L., Wegman, M.N.: Universal classes of hash functions. J. of Comput. Syst. Sci. 18(2), 143–154 (1979)
Dietzfelbinger, M., Karlin, A.R., Mehlhorn, K., auf der Heide, F.M., Rohnert, H., Tarjan, R.E.: Dynamic perfect hashing: Upper and lower bounds. SIAM J. Comput. 23(4), 738–761 (1994)
Fredman, M.L., Komlós, J., Szemerédi, E.: Storing a sparse table with O(1) worst case access time. J. ACM 31(3), 538–544 (1984)
Fredman, M.L., Willard, D.E.: Surpassing the information theoretic bound with fusion trees. J. Comput. Syst. Sci. 47(3), 424–436 (1993)
Frigo, M., Leiserson, C.E., Prokop, H., Ramachandran, S.: Cache-oblivious algorithms. In: Proceedings of the 40th Symposium on Foundations of Computer Science (FOCS), pp. 285–298 (1999)
Hagerup, T.: Sorting and searching on the word RAM. In: Meinel, C., Morvan, M. (eds.) STACS 1998. LNCS, vol. 1373, pp. 366–398. Springer, Heidelberg (1998)
Hagerup, T., Miltersen, P.B., Pagh, R.: Deterministic dictionaries. J. Algor. 41(1), 69–85 (2001)
Han, Y.: Deterministic sorting in O(n log log n) time and linear space. J. Algor. 50(1), 96–105 (2004)
Overmars, M.H., van Leeuwen, J.: Worst-case optimal insertion and deletion methods for decomposable searching problems. Inf. Proc. Lett. 12(4), 168–173 (1981)
Pagh, R.: A trade-off for worst-case efficient dictionaries. Nordic J. Comput. 7(3), 151–163 (2000)
Raman, R.: Priority queues: Small, monotone and trans-dichotomous. In: Díaz, J. (ed.) ESA 1996. LNCS, vol. 1136, pp. 121–137. Springer, Heidelberg (1996)
Ružić, M.: Making deterministic signatures quickly. In: Proceedings of the 18th ACM-SIAM Symposium on Discrete Algorithms, pp. 900–909. ACM, SIAM (2007); Preliminary full version is available on the author’s web page
Ružić, M.: Uniform deterministic dictionaries. ACM Transactions on Algorithms 4(1) (2008)
Tarjan, R.E., Yao, A.C.-C.: Storing a sparse table. Commun. ACM 22(11), 606–611 (1979)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2008 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Ružić, M. (2008). Constructing Efficient Dictionaries in Close to Sorting Time. In: Aceto, L., Damgård, I., Goldberg, L.A., Halldórsson, M.M., Ingólfsdóttir, A., Walukiewicz, I. (eds) Automata, Languages and Programming. ICALP 2008. Lecture Notes in Computer Science, vol 5125. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-70575-8_8
Download citation
DOI: https://doi.org/10.1007/978-3-540-70575-8_8
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-70574-1
Online ISBN: 978-3-540-70575-8
eBook Packages: Computer ScienceComputer Science (R0)