Abstract
We study succinct variants of B trees in the word RAM model that require \(s + o(s)\) bits of space, where s is the number of bits essentially needed for storing keys and possibly other satellite values. Assuming that elements are sorted by keys (not necessarily in the order of their integer representations), our B trees support standard operations such as searching, insertion and deletion of elements. In some applications it is useful to associate a satellite value to each element, and to support aggregate operations such as computing the sum of values, the minimum/maximum value in a given range, or search operations based on those values. We propose a B tree representation storing n elements in \(s + \mathop {}\mathopen {}\mathcal {O}\mathopen {}(s / \lg n)\) bits of space and supporting all mentioned operations in \(\mathop {}\mathopen {}\mathcal {O}\mathopen {}(\lg n)\) time.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
Note that if all keys are distinct, then \(k \ge \lg n\) by the pigeonhole principle.
- 2.
More precisely, these blocks were valid at least before the enlargement of \(B_i\), which could have triggered a shifting that invalidated either \(B_{i-1}\) or \(B_{i+1}\).
References
Bayer, R., McCreight, E.M.: Organization and maintenance of large ordered indexes. In: Proceedings of the SIGFIDET, pp. 107–141 (1970)
Bille, P., et al.: Dynamic relative compression, dynamic partial sums, and substring concatenation. Algorithmica 80(11), 3207–3224 (2018)
Blandford, D.K., Blelloch, G.E.: Compact representations of ordered sets. In: Proceedings of the SODA, pp. 11–19 (2004)
Comer, D.: The ubiquitous B-tree. ACM Comput. Surv. 11(2), 121–137 (1979)
Delpratt, O.N., Rahman, N., Raman, R.: Compressed prefix sums. In: van Leeuwen, J., Italiano, G.F., van der Hoek, W., Meinel, C., Sack, H., Plášil, F. (eds.) SOFSEM 2007. LNCS, vol. 4362, pp. 235–247. Springer, Heidelberg (2007). https://doi.org/10.1007/978-3-540-69507-3_19
Dietz, P.F.: Optimal algorithms for list indexing and subset rank. In: Dehne, F., Sack, J.-R., Santoro, N. (eds.) WADS 1989. LNCS, vol. 382, pp. 39–46. Springer, Heidelberg (1989). https://doi.org/10.1007/3-540-51542-9_5
Elias, P.: Efficient storage and retrieval by content and address of static files. J. ACM 21(2), 246–260 (1974)
Farzan, A., Munro, J.I.: Succinct representation of dynamic trees. Theor. Comput. Sci. 412(24), 2668–2678 (2011)
Ferragina, P., Grossi, R.: The string B-tree: a new data structure for string search in external memory and its applications. J. ACM 46(2), 236–280 (1999)
Franceschini, G., Grossi, R.: Optimal implicit dictionaries over unbounded universes. Theory Comput. Syst. 39(2), 321–345 (2006)
González, R., Navarro, G.: Rank/select on dynamic compressed sequences and applications. Theor. Comput. Sci. 410(43), 4414–4422 (2009)
Graefe, G.: Modern B-tree techniques. Found. Trends Databases 3(4), 203–402 (2011)
He, M., Munro, J.I.: Succinct representations of dynamic strings. In: Chavez, E., Lonardi, S. (eds.) SPIRE 2010. LNCS, vol. 6393, pp. 334–346. Springer, Heidelberg (2010). https://doi.org/10.1007/978-3-642-16321-0_35
Jesus, P., Baquero, C., Almeida, P.S.: A survey of distributed data aggregation algorithms. IEEE Commun. Surv. Tutor. 17(1), 381–404 (2015)
Katajainen, J., Rao, S.S.: A compact data structure for representing a dynamic multiset. Inf. Process. Lett. 110(23), 1061–1066 (2010)
Knuth, D.E.: The Art of Computer Programming, Volume 3: Sorting and Searching. Addison Wesley, Redwood City (1998)
Munro, J.I., Nekrich, Y.: Compressed data structures for dynamic sequences. In: Bansal, N., Finocchi, I. (eds.) ESA 2015. LNCS, vol. 9294, pp. 891–902. Springer, Heidelberg (2015). https://doi.org/10.1007/978-3-662-48350-3_74
Navarro, G., Nekrich, Y.: Optimal dynamic sequence representations. SIAM J. Comput. 43(5), 1781–1806 (2014)
Prezza, N.: A framework of dynamic data structures for string processing. In: Proceedings of the SEA. LIPIcs, vol. 75, pp. 11:1–11:15 (2017)
Raman, R., Rao, S.S.: Succinct dynamic dictionaries and trees. In: Baeten, J.C.M., Lenstra, J.K., Parrow, J., Woeginger, G.J. (eds.) ICALP 2003. LNCS, vol. 2719, pp. 357–368. Springer, Heidelberg (2003). https://doi.org/10.1007/3-540-45061-0_30
Acknowledgment
This work was supported by JSPS KAKENHI Grant Numbers JP19K20213 (TI), JP21K17701 and JP21H05847 (DK).
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2022 Springer Nature Switzerland AG
About this paper
Cite this paper
I, T., Köppl, D. (2022). Space-Efficient B Trees via Load-Balancing. In: Bazgan, C., Fernau, H. (eds) Combinatorial Algorithms. IWOCA 2022. Lecture Notes in Computer Science, vol 13270. Springer, Cham. https://doi.org/10.1007/978-3-031-06678-8_24
Download citation
DOI: https://doi.org/10.1007/978-3-031-06678-8_24
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-031-06677-1
Online ISBN: 978-3-031-06678-8
eBook Packages: Computer ScienceComputer Science (R0)