, Volume 53, Issue 1, pp 50–68 | Cite as

Cache-Oblivious R-Trees

  • Lars Arge
  • Mark de Berg
  • Herman Haverkort


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.


I/O-efficiency Cache-oblivious data structures Geometric data structures R-trees 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 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) Google Scholar
  2. 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) Google Scholar
  3. 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) zbMATHMathSciNetGoogle Scholar
  4. 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. 5.
    Aggarwal, A., Vitter, J.S.: The input/output complexity of sorting and related problems. Commun. ACM 31(9), 1116–1127 (1988) CrossRefMathSciNetGoogle Scholar
  6. 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. 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) Google Scholar
  8. 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 Google Scholar
  9. 9.
    Arge, L., Vahrenhold, J.: I/O-efficient dynamic planar point location. Comput. Geom. Theory Appl. 29(2), 147–162 (2004) zbMATHMathSciNetGoogle Scholar
  10. 10.
    Bayer, R., McCreight, E.: Organization and maintenance of large ordered indexes. Acta Inform. 1, 173–189 (1972) CrossRefGoogle Scholar
  11. 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) Google Scholar
  12. 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) Google Scholar
  13. 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) Google Scholar
  14. 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) Google Scholar
  15. 15.
    Bentley, J.L.: Decomposable searching problems. Inf. Process. Lett. 8(5), 244–251 (1979) zbMATHCrossRefMathSciNetGoogle Scholar
  16. 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) Google Scholar
  17. 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) CrossRefGoogle Scholar
  18. 18.
    Comer, D.: The ubiquitous B-tree. ACM Comput. Surv. 11(2), 121–137 (1979) zbMATHCrossRefGoogle Scholar
  19. 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) Google Scholar
  20. 20.
    Gaede, V., Günther, O.: Multidimensional access methods. ACM Comput. Surv. 30(2), 170–231 (1998) CrossRefGoogle Scholar
  21. 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) Google Scholar
  22. 22.
    Haverkort, H.J.: Results on geometric networks and data structures. PhD thesis, Utrecht University (2004) Google Scholar
  23. 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) Google Scholar
  24. 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. 25.
    Manolopoulos, Y., Nanopoulos, A., Papadopoulos, A.N., Theodoridis, Y.: R-Trees: Theory and Applications. Advanced Information and Knowledge Processing. Springer, Berlin (2006) zbMATHGoogle Scholar
  26. 26.
    Prokop, H.: Cache-oblivious algorithms. Master’s thesis, Massachusetts Institute of Technology, Cambridge, MA, June 1999 Google Scholar
  27. 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. 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) Google Scholar
  29. 29.
    Vitter, J.S.: External memory algorithms and data structures: dealing with MASSIVE data. ACM Comput. Surv. 33(2), 209–271 (2001) CrossRefGoogle Scholar

Copyright information

© Springer Science+Business Media, LLC 2007

Authors and Affiliations

  1. 1.MADALGO, Department of Computer ScienceUniversity of Aarhus, IT-ParkenAarhus NDenmark
  2. 2.Department of Computer ScienceTU EindhovenMB EindhovenThe Netherlands

Personalised recommendations