Skip to main content
Log in

Cache-Oblivious R-Trees

  • Published:
Algorithmica Aims and scope Submit manuscript

Abstract

We develop a cache-oblivious data structure for storing a set S of N axis-aligned rectangles in the plane, such that all rectangles in S intersecting a query rectangle or point can be found efficiently. Our structure is an axis-aligned bounding-box hierarchy and as such it is the first cache-oblivious R-tree with provable performance guarantees. If no point in the plane is contained in more than a constant number of rectangles in S, we can construct, for any constant ε, a structure that answers a rectangle query using \(O(\sqrt{N/B}+T/B)\) memory transfers and a point query using O((N/B)ε) memory transfers, where T is the number of reported rectangles and B is the block size of memory transfers between any two levels of a multilevel memory hierarchy. We also develop a variant of our structure that achieves the same performance on input sets with arbitrary overlap among the rectangles. The rectangle query bound matches the bound of the best known linear-space cache-aware structure.

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.

Institutional subscriptions

Similar content being viewed by others

References

  1. Agarwal, P.K., Arge, L., Danner, A., Holland-Minkley, B.: Cache-oblivious data structures for orthogonal range searching. In: Proc. ACM Symposium on Computational Geometry, pp. 237–245 (2003)

  2. Agarwal, P.K., Arge, L., Procopiuc, O., Vitter, J.S.: A framework for index bulk loading and dynamization. In: Proc. International Colloquium on Automata, Languages, and Programming, pp. 115–127 (2001)

  3. Agarwal, P.K., de Berg, M., Gudmundsson, J., Hammar, M., Haverkort, H.J.: Box-trees and R-trees with near-optimal query time. Discrete Comput. Geom. 28, 291–312 (2002)

    MATH  MathSciNet  Google Scholar 

  4. Agarwal, P.K., Erickson, J.: Geometric range searching and its relatives. In: Chazelle, B., Goodman, J.E., Pollack, R. (eds.) Advances in Discrete and Computational Geometry. Contemporary Mathematics, vol. 223, pp. 1–56. American Mathematical Society, Providence (1999)

    Google Scholar 

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

    Article  MathSciNet  Google Scholar 

  6. Arge, L.: External memory data structures. In: Abello, J., Pardalos, P.M., Resende, M.G.C. (eds.) Handbook of Massive Data Sets, pp. 313–358. Kluwer Academic, Dordrecht (2002)

    Google Scholar 

  7. Arge, L., Bender, M., Demaine, E., Holland-Minkley, B., Munro, J.I.: Cache-oblivious priority-queue and graph algorithms. In: Proc. ACM Symposium on Theory of Computation, pp. 268–276 (2002)

  8. Arge, L., de Berg, M., Haverkort, H.J., Yi, K.: The priority R-tree: a practically efficient and worst-case-optimal R-tree. In: Symp. of the ACM Special Interest Group on Management of Data (SIGMOD), Paris, 2004, pp. 347–358

  9. Arge, L., Vahrenhold, J.: I/O-efficient dynamic planar point location. Comput. Geom. Theory Appl. 29(2), 147–162 (2004)

    MATH  MathSciNet  Google Scholar 

  10. Bayer, R., McCreight, E.: Organization and maintenance of large ordered indexes. Acta Inform. 1, 173–189 (1972)

    Article  Google Scholar 

  11. Beckmann, N., Kriegel, H.-P., Schneider, R., Seeger, B.: The R*-tree: an efficient and robust access method for points and rectangles. In: Proc. SIGMOD International Conference on Management of Data, pp. 322–331 (1990)

  12. Bender, M.A., Cole, R., Raman, R.: Exponential structures for cache-oblivious algorithms. In: Proc. International Colloquium on Automata, Languages, and Programming, pp. 195–207 (2002)

  13. Bender, M.A., Demaine, E.D., Farach-Colton, M.: Cache-oblivious B-trees. In: Proc. IEEE Symposium on Foundations of Computer Science, pp. 339–409 (2000)

  14. Bender, M.A., Duan, Z., Iacono, J., Wu, J.: A locality-preserving cache-oblivious dynamic dictionary. In: Proc. ACM-SIAM Symposium on Discrete Algorithms, pp. 29–38 (2002)

  15. Bentley, J.L.: Decomposable searching problems. Inf. Process. Lett. 8(5), 244–251 (1979)

    Article  MATH  MathSciNet  Google Scholar 

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

  17. Brodal, G.S., Fagerberg, R.: Funnel heap—a cache oblivious priority queue. In: International Symposium on Algorithms and Computation. Lecture Notes in Computer Science, vol. 2518, pp. 219–228. Springer, Berlin (2002)

    Chapter  Google Scholar 

  18. Comer, D.: The ubiquitous B-tree. ACM Comput. Surv. 11(2), 121–137 (1979)

    Article  MATH  Google Scholar 

  19. Frigo, M., Leiserson, C.E., Prokop, H., Ramachandran, S.: Cache-oblivious algorithms. In: Proc. IEEE Symposium on Foundations of Computer Science, pp. 285–298 (1999)

  20. Gaede, V., Günther, O.: Multidimensional access methods. ACM Comput. Surv. 30(2), 170–231 (1998)

    Article  Google Scholar 

  21. Guttman, A.: R-trees: a dynamic index structure for spatial searching. In: Proc. SIGMOD International Conference on Management of Data, pp. 47–57 (1984)

  22. Haverkort, H.J.: Results on geometric networks and data structures. PhD thesis, Utrecht University (2004)

  23. Kamel, I., Faloutsos, C.: Hilbert R-tree: An improved R-tree using fractals. In: Proc. International Conference on Very Large Databases, pp. 500–509 (1994)

  24. Kanth, K.V.R., Singh, A.K.: Optimal dynamic range searching in non-replicating index structures. In: Proc. International Conference on Database Theory. Lecture Notes in Computer Science, vol. 1540, pp. 257–276. Springer, Berlin (1999)

    Google Scholar 

  25. Manolopoulos, Y., Nanopoulos, A., Papadopoulos, A.N., Theodoridis, Y.: R-Trees: Theory and Applications. Advanced Information and Knowledge Processing. Springer, Berlin (2006)

    MATH  Google Scholar 

  26. Prokop, H.: Cache-oblivious algorithms. Master’s thesis, Massachusetts Institute of Technology, Cambridge, MA, June 1999

  27. Rahman, N., Cole, R., Raman, R.: Optimized predecessor data structures for internal memory. In: Proc. Workshop on Algorithm Engineering. Lecture Notes in Computer Science, vol. 2141, pp. 67–78. Springer, Berlin (2001)

    Google Scholar 

  28. Sellis, T., Roussopoulos, N., Faloutsos, C.: The R+-tree: a dynamic index for multi-dimensional objects. In: Proc. International Conference on Very Large Databases, pp. 507–518 (1987)

  29. Vitter, J.S.: External memory algorithms and data structures: dealing with MASSIVE data. ACM Comput. Surv. 33(2), 209–271 (2001)

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Lars Arge.

Additional information

L. Arge supported in part by the US National Science Foundation through RI grant EIA-9972879, CAREER grant CCR-9984099, ITR grant EIA-0112849, and US–Germany Cooperative Research Program grant INT-0129182, by the US Army Research Office through grant W911NF-04-1-0278, by an Ole Rømer Scholarship from the Danish National Science Research Council, and by MADALGO—Center for Massive Data Algorithmics—a center of the Danish National Research Foundation. Part of this work was done while Lars Arge was at Duke University.

M. de Berg supported by the Netherlands’ Organisation for Scientific Research (NWO) under project No. 639.023.301.

This work was done while Herman Haverkort was at Karlsruhe University, supported by the European Commission, FET open project DELIS (IST-001907), and subsequently at the University of Aarhus, supported by a grant from the Danish National Science Research Council.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Arge, L., de Berg, M. & Haverkort, H. Cache-Oblivious R-Trees. Algorithmica 53, 50–68 (2009). https://doi.org/10.1007/s00453-007-9007-8

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00453-007-9007-8

Keywords

Navigation