Skip to main content
Log in

Belga B-Trees

  • Published:
Theory of Computing Systems Aims and scope Submit manuscript

Abstract

We revisitself-adjustingexternal memory tree data structures, which combine the optimal (and practical) worst-case I/O performances of B-trees, while adapting to the online distribution of queries. Our approach is analogous to undergoing efforts in the BST model, where Tango Trees (Demaine et al., SIAM J. Comput. 37(1), 240–251, 2007) were shown to be \(O(\log \log N)\)-competitive with the runtime of the best offline binary search tree on every sequence of searches. Here we formalize the B-Tree model as a natural generalization of the BST model. We prove lower bounds for the B-Tree model, and introduce a B-Tree model data structure, the Belga B-tree, that executes any sequence of searches within a \(O(\log \log N)\) factor of the best offline B-tree model algorithm, provided \(B=\log ^{O(1)}N\). We also show how to transform any static BST into a static B-tree which is faster by a \({\varTheta }(\log B)\) factor; the transformation is randomized and we show that randomization is necessary to obtain any significant speedup.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3

Similar content being viewed by others

Notes

  1. The Tango tree was invented on an overnight flight from JFK airport en route to Buenos Aires, Argentina. The work on the Belga B-Tree has been substantially completed at Cafe Belga, Ixelles, Belgium.

  2. Recall that in the external memory model (defined in Section 1) B denotes the block size. Each B-tree node has at most B children, contains O(B) words and thus it can be stored in O(1) blocks of size B.

References

  1. Adelson-Velskiı̆, G.M., Landis, E.M.: An algorithm for organization of information. Dokl. Akad. Nauk SSSR 146, 263–266 (1962)

    MathSciNet  Google Scholar 

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

    Article  MathSciNet  Google Scholar 

  3. Badoiu, M., Cole, R., Demaine, E.D., Iacono, J.: A unified access bound on comparison-based dynamic dictionaries. Theor. Comput. Sci. 382(2), 86–96 (2007). https://doi.org/10.1016/j.tcs.2007.03.002

    Article  MathSciNet  Google Scholar 

  4. Bayer, R., McCreight, E.M.: Organization and maintenance of large ordered indices. Acta Inf. 1, 173–189 (1972). https://doi.org/10.1016/j.tcs.2007.03.002

    Article  Google Scholar 

  5. Bose, P., Douïeb, K., Langerman, S.: Dynamic optimality for skip lists and b-trees. In: Symposium on Discrete Algorithms, SODA. http://dl.acm.org/citation.cfm?id=1347082.1347203, pp 1106–1114 (2008)

  6. Bose, P., Douïeb, K., Iacono, J., Langerman, S.: The power and limitations of static binary search trees with lazy finger. Algorithmica 76(4), 1264–1275 (2016). https://doi.org/10.1007/s00453-016-0224-x

    Article  MathSciNet  Google Scholar 

  7. Bose, P., Howat, J., Morin, P.: A history of distribution-sensitive data structures. In: Brodnik et al. [8], 133–149. https://doi.org/10.1007/978-3-642-40273-9_10

  8. Brodnik, A., López-Ortiz, A., Raman, V., Viola, A. (eds.): Space-Efficient Data Structures, Streams, and Algorithms - Papers in Honor of J. Ian Munro on the Occasion of His 66th Birthday, Lecture Notes in Computer Science, vol. 8066. Springer, Berlin (2013). https://doi.org/10.1007/978-3-642-40273-9

  9. Chalermsook, P., Goswami, M., Kozma, L., Mehlhorn, K., Saranurak, T.: The landscape of bounds for binary search trees. CoRR arXiv:1603.04892 (2016)

  10. Chalermsook, P., Goswami, M., Kozma, L., Mehlhorn, K., Saranurak, T.: Multi-finger binary search trees. In: 29th International Symposium on Algorithms and Computation, ISAAC. https://doi.org/10.4230/LIPIcs.ISAAC.2018.55, pp 55:1–55:26 (2018)

  11. Cole, R.: On the dynamic finger conjecture for splay trees. Part II: the proof. SIAM J. Comput. 30(1), 44–85 (2000). https://doi.org/10.1137/S009753979732699X

    Article  MathSciNet  Google Scholar 

  12. Cole, R., Mishra, B., Schmidt, J.P., Siegel, A.: On the dynamic finger conjecture for splay trees. Part I: splay sorting log n-block sequences. SIAM J. Comput. 30(1), 1–43 (2000). https://doi.org/10.1137/S0097539797326988

    Article  MathSciNet  Google Scholar 

  13. Cormen, T.H., Leiserson, C.E., Rivest, R.L., Stein, C.: Introduction to Algorithms, 3rd edn. MIT Press, Cambridge (2009). http://mitpress.mit.edu/books/introduction-algorithms

    MATH  Google Scholar 

  14. Demaine, E.D., Harmon, D., Iacono, J., Patrascu, M.: Dynamic optimality—almost. SIAM J. Comput. 37(1), 240–251 (2007). https://doi.org/10.1137/S0097539705447347

    Article  MathSciNet  Google Scholar 

  15. Demaine, E.D., Harmon, D., Iacono, J., Kane, D.M., Patrascu, M.: The geometry of binary search trees. In: Symposium on Discrete Algorithms, SODA. http://dl.acm.org/citation.cfm?id=1496770.1496825, pp 496–505 (2009)

  16. Demaine, E.D., Iacono, J., Langerman, S., Özkan, Ö.: Combining binary search trees. In: ICALP 2013, Part I. https://doi.org/10.1007/978-3-642-39206-1_33, pp 388–399 (2013)

  17. Demaine, E.D., Iacono, J., Langerman, S.: Worst-case optimal tree layout in external memory. Algorithmica 72(2), 369–378 (2015). https://doi.org/10.1007/s00453-013-9856-2

    Article  MathSciNet  Google Scholar 

  18. Elmasry, A., Farzan, A., Iacono, J.: On the hierarchy of distribution-sensitive properties for data structures. Acta Inf. 50(4), 289–295 (2013). https://doi.org/10.1007/s00236-013-0180-8

    Article  MathSciNet  Google Scholar 

  19. Guibas, L.J., Sedgewick, R.: A dichromatic framework for balanced trees. In: Foundations of Computer Science (FOCS). https://doi.org/10.1109/SFCS.1978.3, pp 8–21 (1978)

  20. Howat, J., Iacono, J., Morin, P.: The fresh-finger property. CoRR arXiv:1302.6914 (2013)

  21. Iacono, J.: Alternatives to splay trees with o(log n) worst-case access times. In: Symposium on Discrete Algorithms (SODA). http://dl.acm.org/citation.cfm?id=365411.365522, pp 516–522 (2001)

  22. Iacono, J.: Distribution sensitive data structures. Ph.D. thesis, Ph.D. Thesis. Rutgers The State University of New Jersey (2001)

  23. Iacono, J.: In pursuit of the dynamic optimality conjecture. In: Brodnik et al. [8], 236–250. https://doi.org/10.1007/978-3-642-40273-9_16

  24. Iacono, J., Langerman, S.: Weighted dynamic finger in binary search trees. In: Symposium on Discrete Algorithms, SODA. https://doi.org/10.1137/1.9781611974331.ch49, pp 672–691 (2016)

  25. Lucas, J.M.: Canonical forms for competitive binary search tree algorithms. Tech. Rep. DCS-TR-250 Rutgers University (1988)

  26. Sherk, M.: Self-adjusting k-ary search trees. J. Algorithms 19(1), 25–44 (1995). https://doi.org/10.1006/jagm.1995.1026

    Article  MathSciNet  Google Scholar 

  27. Sleator, D.D., Tarjan, R.E.: Amortized efficiency of list update and paging rules. Commun. ACM 28(2), 202–208 (1985). https://doi.org/10.1145/2786.2793

    Article  MathSciNet  Google Scholar 

  28. Sleator, D.D., Tarjan, R.E.: Self-adjusting binary search trees. J. ACM 32(3), 652–686 (1985). https://doi.org/10.1145/3828.3835

    Article  MathSciNet  Google Scholar 

  29. Tarjan, R.E.: Sequential access in play trees takes linear time. Combinatorica 5 (4), 367–378 (1985). https://doi.org/10.1007/BF02579253

    Article  MathSciNet  Google Scholar 

  30. Wang, C.C., Derryberry, J., Sleator, D.D.: O(log log n)-competitive dynamic binary search trees. In: Symposium on Discrete Algorithms, SODA. http://dl.acm.org/citation.cfm?id=1109557.1109600, pp 374–383 (2006)

  31. Wilber, R.E.: Lower bounds for accessing binary search trees with rotations. SIAM J. Comput. 18(1), 56–67 (1989). https://doi.org/10.1137/0218004

    Article  MathSciNet  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Grigorios Koumoutsos.

Additional information

Publisher’s Note

SpringerNature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

This article belongs to the Topical Collection: Special Issue on Computer Science Symposium in Russia (2019)

Guest Editor: Gregory Kucherov

This work was supported by the Fonds de la Recherche Scientifique-FNRS under Grant no MISU F 6001 1 and by NSF Grant CCF-1533564.A preliminary version of this article appeared in the Proceedings of the 14th International Computer Science Symposium in Russia (CSR 2019).

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Demaine, E.D., Iacono, J., Koumoutsos, G. et al. Belga B-Trees. Theory Comput Syst 65, 541–558 (2021). https://doi.org/10.1007/s00224-020-09991-8

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00224-020-09991-8

Keywords

Navigation