External-Memory Dictionaries with Worst-Case Update Cost

Authors Rathish Das, John Iacono, Yakov Nekrich

Thumbnail PDF


  • Filesize: 0.7 MB
  • 13 pages

Document Identifiers

Author Details

Rathish Das
  • University of Liverpool, UK
John Iacono
  • Université libre de Bruxelles, Belgium
  • New York University, USA
Yakov Nekrich
  • Michigan Technological University, Houghton, MI, USA

Cite AsGet BibTex

Rathish Das, John Iacono, and Yakov Nekrich. External-Memory Dictionaries with Worst-Case Update Cost. In 33rd International Symposium on Algorithms and Computation (ISAAC 2022). Leibniz International Proceedings in Informatics (LIPIcs), Volume 248, pp. 21:1-21:13, Schloss Dagstuhl – Leibniz-Zentrum für Informatik (2022)


The B^ε-tree [Brodal and Fagerberg 2003] is a simple I/O-efficient external-memory-model data structure that supports updates orders of magnitude faster than B-tree with a query performance comparable to the B-tree: for any positive constant ε < 1 insertions and deletions take O(1/B^(1-ε) log_B N) time (rather than O(log_BN) time for the classic B-tree), queries take O(log_B N) time and range queries returning k items take O(log_B N + k/B) time. Although the B^ε-tree has an optimal update/query tradeoff, the runtimes are amortized. Another structure, the write-optimized skip list, introduced by Bender et al. [PODS 2017], has the same performance as the B^ε-tree but with runtimes that are randomized rather than amortized. In this paper, we present a variant of the B^ε-tree with deterministic worst-case running times that are identical to the original’s amortized running times.

Subject Classification

ACM Subject Classification
  • Theory of computation → Data structures design and analysis
  • Theory of computation → Sorting and searching
  • Theory of computation → Design and analysis of algorithms
  • Data Structures
  • External Memory
  • Buffer Tree


  • Access Statistics
  • Total Accesses (updated on a weekly basis)
    PDF Downloads


  1. Alok Aggarwal and S. Vitter, Jeffrey. The input/output complexity of sorting and related problems. Communications of the ACM, 31(9):1116-1127, September 1988. Google Scholar
  2. Lars Arge. The buffer tree: A technique for designing batched external data structures. Algorithmica, 37(1):1-24, 2003. Google Scholar
  3. Lars Arge, Michael A. Bender, Erik D. Demaine, Bryan Holland-Minkley, and J. Ian Munro. Cache-oblivious priority queue and graph algorithm applications. SIAM Journal on Computing, 36(6):1672-1695, 2007. Google Scholar
  4. Lars Arge, Michael A. Bender, Erik D. Demaine, Bryan Holland‐Minkley, and J. Ian Munro. An optimal cache‐oblivious priority queue and its application to graph algorithms. SIAM Journal on Computing, 36(6):1672-1695, 2007. URL: https://doi.org/10.1137/S0097539703428324.
  5. Rudolf Bayer and Edward M. McCreight. Organization and maintenance of large ordered indexes. Acta Informatica, 1(3):173-189, February 1972. URL: https://doi.org/10.1145/1734663.1734671.
  6. Michael A Bender, Rathish Das, Martín Farach-Colton, Rob Johnson, and William Kuszmaul. Flushing without cascades. In Proceedings of the Fourteenth Annual ACM-SIAM Symposium on Discrete Algorithms, pages 650-669. SIAM, 2020. Google Scholar
  7. Michael A. Bender, Martin Farach-Colton, Jeremy T. Fineman, Yonatan R. Fogel, Bradley C. Kuszmaul, and Jelani Nelson. Cache-oblivious streaming B-trees. In Proc. 19th Annual ACM Symposium on Parallel Algorithms and Architectures (SPAA), pages 81-92, 2007. Google Scholar
  8. Michael A. Bender, Martin Farach-Colton, Rob Johnson, Simon Mauras, Tyler Mayer, Cynthia Phillips, and Helen Xu. Write-optimized skip lists. In Proc. 36th ACM Symposium on Principles of Database Systems (PODS), pages 69-78, May 2017. Google Scholar
  9. Gerth Stølting Brodal, Erik D. Demaine, Jeremy T. Fineman, John Iacono, Stefan Langerman, and J. Ian Munro. Cache-oblivious dynamic dictionaries with update/query tradeoffs. In Moses Charikar, editor, Proceedings of the Twenty-First Annual ACM-SIAM Symposium on Discrete Algorithms, SODA 2010, Austin, Texas, USA, January 17-19, 2010, pages 1448-1456. SIAM, 2010. URL: https://doi.org/10.1137/1.9781611973075.117.
  10. Gerth Stølting Brodal and Rolf Fagerberg. Funnel heap - A cache oblivious priority queue. In Proc. 13th International Symposium on Algorithms and Computation (ISAAC), pages 219-228, 2002. Google Scholar
  11. Gerth Stølting Brodal and Rolf Fagerberg. Lower bounds for external memory dictionaries. In Proc. 14th Annual ACM-SIAM Symposium on Discrete Algorithms (SODA), pages 546-554, 2003. Google Scholar
  12. Gerth Stølting Brodal, Rolf Fagerberg, Ulrich Meyer, and Norbert Zeh. Cache-oblivious data structures and algorithms for undirected breadth-first search and shortest paths. In Torben Hagerup and Jyrki Katajainen, editors, Algorithm Theory - SWAT 2004, pages 480-492, Berlin, Heidelberg, 2004. Springer Berlin Heidelberg. Google Scholar
  13. Adam L Buchsbaum, Michael H Goldwasser, Suresh Venkatasubramanian, and Jeffery R Westbrook. On external memory graph traversal. In SODA, pages 859-860, 2000. Google Scholar
  14. Rezaul A. Chowdhury and Vijaya Ramachandran. Cache-oblivious buffer heap and cache-efficient computation of shortest paths in graphs. ACM Trans. Algorithms, 14(1):1:1-1:33, January 2018. URL: https://doi.org/10.1145/3147172.
  15. Erik D. Demaine, John Iacono, and Stefan Langerman. Worst-case optimal tree layout in external memory. Algorithmica, 72(2):369-378, 2015. URL: https://doi.org/10.1007/s00453-013-9856-2.
  16. Paul F. Dietz and Daniel Dominic Sleator. Two algorithms for maintaining order in a list. In Proc. 19th Annual ACM Symposium on Theory of Computing (STOC), pages 365-372, 1987. URL: https://doi.org/10.1145/28395.28434.
  17. R. Fadel, K. V. Jakobsen, J. Katajainen, and J. Teuhola. Heaps and heapsort on secondary storage. Theor. Comput. Sci., 220(2):345-362, June 1999. URL: https://doi.org/10.1016/S0304-3975(99)00006-7.
  18. Matteo Frigo, Charles E. Leiserson, Harald Prokop, and Sridhar Ramachandran. Cache-oblivious algorithms. ACM Trans. Algorithms, 8(1):4:1-4:22, 2012. URL: https://doi.org/10.1145/2071379.2071383.
  19. John Iacono, Riko Jacob, and Konstantinos Tsakalidis. External memory priority queues with decrease-key and applications to graph algorithms. In Michael A. Bender, Ola Svensson, and Grzegorz Herman, editors, 27th Annual European Symposium on Algorithms, ESA 2019, September 9-11, 2019, Munich/Garching, Germany, volume 144 of LIPIcs, pages 60:1-60:14. Schloss Dagstuhl - Leibniz-Zentrum für Informatik, 2019. URL: https://doi.org/10.4230/LIPIcs.ESA.2019.60.
  20. John Iacono, Ben Karsin, and Grigorios Koumoutsos. External memory planar point location with fast updates. In Pinyan Lu and Guochuan Zhang, editors, 30th International Symposium on Algorithms and Computation, ISAAC 2019, December 8-11, 2019, Shanghai University of Finance and Economics, Shanghai, China, volume 149 of LIPIcs, pages 58:1-58:18. Schloss Dagstuhl - Leibniz-Zentrum für Informatik, 2019. URL: https://doi.org/10.4230/LIPIcs.ISAAC.2019.58.
  21. John Iacono and Mihai Pătraşcu. Using hashing to solve the dictionary problem (in external memory). In Proceedings of the twenty-third annual ACM-SIAM symposium on Discrete algorithms, pages 570-582. SIAM, 2012. Google Scholar
  22. Shunhua Jiang and Kasper Green Larsen. A faster external memory priority queue with decreasekeys. In Proceedings of the Thirtieth Annual ACM-SIAM Symposium on Discrete Algorithms, pages 1331-1343. SIAM, 2019. Google Scholar
  23. Vijay Kumar and Eric J. Schwabe. Improved algorithms and data structures for solving graph problems in external memory. In Proceedings of the 8th IEEE Symposium on Parallel and Distributed Processing (SPDP '96), SPDP '96, pages 169-, Washington, DC, USA, 1996. IEEE Computer Society. URL: http://dl.acm.org/citation.cfm?id=829517.830723.
  24. J. Ian Munro and Yakov Nekrich. Dynamic planar point location in external memory. In 35th International Symposium on Computational Geometry (SoCG), pages 52:1-52:15, 2019. URL: https://doi.org/10.4230/LIPIcs.SoCG.2019.52.
  25. Patrick O'Neil, Edward Cheng, Dieter Gawlic, and Elizabeth O'Neil. The log-structured merge-tree (LSM-tree). Acta Informatica, 33(4):351-385, 1996. URL: https://doi.org/10.1007/s002360050048.
  26. Mark H Overmars. The design of dynamic data structures, volume 156. Springer Science & Business Media, 1987. Google Scholar
  27. Russell Sears, Mark Callaghan, and Eric Brewer. Rose: Compressed, log-structured replication. Proceedings of the VLDB Endowment, 1(1):526-537, 2008. Google Scholar