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.
Similar content being viewed by others
Notes
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.
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
Adelson-Velskiı̆, G.M., Landis, E.M.: An algorithm for organization of information. Dokl. Akad. Nauk SSSR 146, 263–266 (1962)
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
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
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
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)
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
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
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
Chalermsook, P., Goswami, M., Kozma, L., Mehlhorn, K., Saranurak, T.: The landscape of bounds for binary search trees. CoRR ar**v:1603.04892 (2016)
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)
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
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
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
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
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)
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)
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
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
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)
Howat, J., Iacono, J., Morin, P.: The fresh-finger property. CoRR ar**v:1302.6914 (2013)
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)
Iacono, J.: Distribution sensitive data structures. Ph.D. thesis, Ph.D. Thesis. Rutgers The State University of New Jersey (2001)
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
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)
Lucas, J.M.: Canonical forms for competitive binary search tree algorithms. Tech. Rep. DCS-TR-250 Rutgers University (1988)
Sherk, M.: Self-adjusting k-ary search trees. J. Algorithms 19(1), 25–44 (1995). https://doi.org/10.1006/jagm.1995.1026
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
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
Tarjan, R.E.: Sequential access in play trees takes linear time. Combinatorica 5 (4), 367–378 (1985). https://doi.org/10.1007/BF02579253
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)
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
Author information
Authors and Affiliations
Corresponding author
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
About this article
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
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00224-020-09991-8