Skip to main content

Constructing Efficient Dictionaries in Close to Sorting Time

  • Conference paper
Automata, Languages and Programming (ICALP 2008)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 5125))

Included in the following conference series:

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 149.00
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 199.00
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Aggarwal, A., Vitter, J.S.: The input/output complexity of sorting and related problems. Commun. ACM 31(9), 1116–1127 (1988)

    Article  MathSciNet  Google Scholar 

  2. 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)

    Google Scholar 

  3. Alon, N., Naor, M.: Derandomization, witnesses for Boolean matrix multiplication and construction of perfect hash functions. Algorithmica 16(4-5), 434–449 (1996)

    Article  MathSciNet  MATH  Google Scholar 

  4. Andersson, A.: Sublogarithmic searching without multiplications. In: Proc. 36th Symposium on Foundations of Computer Science (FOCS), pp. 655–663 (1995)

    Google Scholar 

  5. 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)

    Google Scholar 

  6. Carter, J.L., Wegman, M.N.: Universal classes of hash functions. J. of Comput. Syst. Sci. 18(2), 143–154 (1979)

    Article  MathSciNet  MATH  Google Scholar 

  7. 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)

    Article  MathSciNet  MATH  Google Scholar 

  8. 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)

    Article  MathSciNet  MATH  Google Scholar 

  9. Fredman, M.L., Willard, D.E.: Surpassing the information theoretic bound with fusion trees. J. Comput. Syst. Sci. 47(3), 424–436 (1993)

    Article  MathSciNet  MATH  Google Scholar 

  10. 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)

    Google Scholar 

  11. 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)

    Chapter  Google Scholar 

  12. Hagerup, T., Miltersen, P.B., Pagh, R.: Deterministic dictionaries. J. Algor. 41(1), 69–85 (2001)

    Article  MathSciNet  MATH  Google Scholar 

  13. Han, Y.: Deterministic sorting in O(n log log n) time and linear space. J. Algor. 50(1), 96–105 (2004)

    Article  MATH  Google Scholar 

  14. 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)

    Article  MATH  Google Scholar 

  15. Pagh, R.: A trade-off for worst-case efficient dictionaries. Nordic J. Comput. 7(3), 151–163 (2000)

    MathSciNet  MATH  Google Scholar 

  16. 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)

    Chapter  Google Scholar 

  17. 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

    Google Scholar 

  18. Ružić, M.: Uniform deterministic dictionaries. ACM Transactions on Algorithms 4(1) (2008)

    Google Scholar 

  19. Tarjan, R.E., Yao, A.C.-C.: Storing a sparse table. Commun. ACM 22(11), 606–611 (1979)

    Article  MathSciNet  MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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)

Publish with us

Policies and ethics