Skip to main content

Optimal Worst-Case Operations for Implicit Cache-Oblivious Search Trees

  • Conference paper
Algorithms and Data Structures (WADS 2003)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 2748))

Included in the following conference series:

Abstract

We close an open issue on dictionaries dating back to the sixthies. An array of n keys can be sorted so that searching takes O(log n) time. Alternatively, it can be organized as a heap so that inserting and deleting keys take O(log n) time. We show that these bounds can be simultaneously achieved in the worst case for searching and updating by suitably maintaining a permutation of the n keys in the array. The resulting data structure is called implicit as it uses just O(1) extra memory cells beside the n cells for the array. The data structure is also cache-oblivious, attaining O(logB n) block transfers in the worst case for any (unknown) value of the block size B, without wasting any single cell of memory at any level of the memory hierarchy.

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 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
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. Aho, A.V., Hopcroft, J.E., Ullman, J.D.: The Design and Analysis of Computer Algorithms. Addison-Wesley, Reading (1974)

    MATH  Google Scholar 

  2. Arge, L., Vitter, J.S.: Optimal dynamic interval management in external memory. In: IEEE (ed.) 37th Annual Symposium on Foundations of Computer Science. Burlington, Vermontl, USA, October 14-16, pp. 560–569. IEEE Computer Society Press, Los Alamitos (1996)

    Google Scholar 

  3. Bender, M.A., Demaine, E.D., Farach-Colton, M.: Cache-oblivious B-trees. In: IEEE (ed.) 41st Annual Symposium on Foundations of Computer Science: proceedings: Redondo Beach, California, USA, 12-14 November, pp. 399–409. IEEE Computer Society Press, Los Alamitos (2000)

    Chapter  Google Scholar 

  4. Bender, M.A., Cole, R., Raman, R.: Exponential structures for efficient cache-oblivious algorithms. In: Widmayer, P., Triguero, F., Morales, R., Hennessy, M., Eidenbenz, S., Conejo, R. (eds.) ICALP 2002. LNCS, vol. 2380, pp. 195–206. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

  5. Brodal, G.S., Fagerberg, R., Jacob, R.: Cache-oblivious search trees via trees of small height. In: Proc. 13th Annual ACM-SIAM Symposium on Discrete Algorithms, pp. 39–48 (2002)

    Google Scholar 

  6. Dietz, P., Sleator, D.: Two algorithms for maintaining order in a list. In: Aho, A. (ed.) Proceedings of the 19th Annual ACM Symposium on Theory of Computing, pp. 365–372. ACM Press, New York (1987)

    Google Scholar 

  7. Franceschini, G., Grossi, R.: Implicit dictionaries supporting searches and amortized updates in O(log n log log n). In: Proceedings of the 14th Annual ACM-SIAM Symposium on Discrete Algorithms (SODA 2003), pp. 670–678. SIAM, Philadelphia (2003)

    Google Scholar 

  8. Franceschini, G., Grossi, R.: Optimal cache-oblivious implicit dictionaries. In: International Colloquium on Automata, Languages and Programming, LNCS (2003)

    Google Scholar 

  9. Franceschini, G., Grossi, R.: Optimal implicit and cache-oblivious dictionaries over unbounded universes (2003) Full version

    Google Scholar 

  10. Franceschini, G., Grossi, R.: Optimal space-time dictionaries over an unbounded universe with flat implicit trees. Technical report TR-03-03, January 30 (2003)

    Google Scholar 

  11. Franceschini, G., Grossi, R., Ian Munro, J., Pagli, L.: Implicit Btrees: New results for the dictionary problem. In: IEEE Symposium on Foundations of Computer Science, FOCS (2002)

    Google Scholar 

  12. Frederickson, G.N.: Implicit data structures for the dictionary problem. Journal of the ACM 30(1), 80–94 (1983)

    Article  MATH  MathSciNet  Google Scholar 

  13. Frigo, M., Leiserson, C.E., Prokop, H., Ramachandran, S.: Cache-oblivious algorithms. In: IEEE (ed.) 40th Annual Symposium on Foundations of Computer Science. New York City, New York, USA, 1109 Spring Street, Suite 300, Silver Spring, MD 20910, October 17-19, pp. 285–297. IEEE Computer Society Press, Los Alamitos (1999)

    Google Scholar 

  14. Itai, A., Konheim, A.G., Rodeh, M.: A sparse table implementation of priority queues. In: Even, S., Kariv, O. (eds.) ICALP 1981. LNCS, vol. 115, pp. 417–431. Springer, Heidelberg (1981)

    Google Scholar 

  15. Knuth, D.E.: The Art of Computer Programming III: Sorting and Searching. Addison–Wesley, Reading (1973)

    Google Scholar 

  16. Ian Munro, J.: An implicit data structure supporting insertion, deletion, and search in O(log2 n) time. Journal of Computer and System Sciences 33(1), 66–74 (1986)

    Article  MATH  MathSciNet  Google Scholar 

  17. Ian Munro, J., Suwanda, H.: Implicit data structures for fast search and update. Journal of Computer and System Sciences 21(2), 236–250 (1980)

    Article  MATH  MathSciNet  Google Scholar 

  18. Willard, D.E.: A density control algorithm for doing insertions and deletions in a sequentially ordered file in good worst-case time. Information and Computation 97(2), 150–204 (1992)

    Article  MATH  MathSciNet  Google Scholar 

  19. Williams, J.W.J.: Algorithm 232: Heapsort. Communications of the ACM 7, 347–348 (1964)

    Google Scholar 

  20. Yao, A.C.: Should tables be sorted? J. Assoc. Comput. Mach. 31, 245–281 (1984)

    MathSciNet  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2003 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Franceschini, G., Grossi, R. (2003). Optimal Worst-Case Operations for Implicit Cache-Oblivious Search Trees. In: Dehne, F., Sack, JR., Smid, M. (eds) Algorithms and Data Structures. WADS 2003. Lecture Notes in Computer Science, vol 2748. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-45078-8_11

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-45078-8_11

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-40545-0

  • Online ISBN: 978-3-540-45078-8

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics