Balanced aspect ratio trees: combining the advantages of k-d trees and octrees

Given a set S of n points on Rd, we show, for fixed d, how to construct in O(nlogn) time a data structure we call the balanced aspect ratio (BAR) tree. A BAR tree is a binary space partition tree on S that has O(logn) depth in which every region is convex and “fat” (that is, has a bounded aspect ratio). While previous hierarchical data structures such as k-d trees, quadtrees, octrees, fair-split trees, and balanced box decompositions can guarantee some of these properties, we know of no previous data structure that combines all of these properties simultaneously. The BAR tree data structure has numerous applications ranging from geometric searching problems in fixed dimensional space to the visualization of graphs and three-dimensional worlds.

[1]  T. M. Murali,et al.  Binary Space Partitions for Fat Rectangles , 2000, SIAM J. Comput..

[2]  Hanan Samet,et al.  An Overview of Quadtrees, Octrees, and Related Hierarchical Data Structures , 1988 .

[3]  Bernard Chazelle,et al.  Lower bounds for orthogonal range searching: I. The reporting case , 1990, JACM.

[4]  Steven K. Feiner,et al.  Near real-time shadow generation using BSP trees , 1989, SIGGRAPH '89.

[5]  F. Frances Yao,et al.  Efficient binary space partitions for hidden-surface removal and solid modeling , 1990, Discret. Comput. Geom..

[6]  S. Rao Kosaraju,et al.  A decomposition of multidimensional point sets with applications to k-nearest-neighbors and n-body potential fields , 1995, JACM.

[7]  Matthew J. Kaltz 3-D vertical ray shooting and 2-D point enclosure, range searching, and arc shooting amidst convex fat objects , 1997 .

[8]  Walid G. Aref,et al.  An Algorithm for Perspective Viewing of Objects Represented by Octrees , 1995, Comput. Graph. Forum.

[9]  Jon Louis Bentley,et al.  K-d trees for semidynamic point sets , 1990, SCG '90.

[10]  Sunil Arya,et al.  Approximate range searching , 2000, Comput. Geom..

[11]  Michael T. Goodrich,et al.  Balanced Aspect Ratio Trees and Their Use for Drawing Large Graphs , 2000, J. Graph Algorithms Appl..

[12]  Jirí Matousek,et al.  Geometric range searching , 1994, CSUR.

[13]  Micha Sharir,et al.  On the complexity of the union of fat objects in the plane , 1997, SCG '97.

[14]  F. Frances Yao,et al.  Optimal binary space partitions for orthogonal objects , 1990, SODA '90.

[15]  Jon Louis Bentley,et al.  Data Structures for Range Searching , 1979, CSUR.

[16]  Michael T. Goodrich,et al.  Balanced Aspect Ratio Trees and Their Use for Drawing Very Large Graphs , 1998, GD.

[17]  Hanan Samet,et al.  The Design and Analysis of Spatial Data Structures , 1989 .

[18]  Chuck Hansen,et al.  Eurographics '97 , 1998, COMG.

[19]  S. Rao Kosaraju,et al.  Algorithms for dynamic closest pair and n-body potential fields , 1995, SODA '95.

[20]  Micha Sharir,et al.  Computing Depth Orders for Fat Objects and Related Problems , 1995, Comput. Geom..

[21]  Hermann A. Maurer,et al.  Efficient worst-case data structures for range searching , 1978, Acta Informatica.

[22]  Enric Torres,et al.  Optimization of the Binary Space Partition Algorithm (BSP) for the Visualization of Dynamic Scenes , 1990, Eurographics.

[23]  I. H. Öğüş,et al.  NATO ASI Series , 1997 .

[24]  Joseph O'Rourke,et al.  Handbook of Discrete and Computational Geometry, Second Edition , 1997 .

[25]  Mark de Berg,et al.  Linear Size Binary Space Partitions for Fat Objects , 1995, ESA.

[26]  Micha Sharir,et al.  Fat Triangles Determine Linearly Many Holes , 1994, SIAM J. Comput..

[27]  Hanan Samet,et al.  The Quadtree and Related Hierarchical Data Structures , 1984, CSUR.

[28]  Mark H. Overmars,et al.  Range Searching and Point Location among Fat Objects , 1996, J. Algorithms.

[29]  Sunil Arya,et al.  An optimal algorithm for approximate nearest neighbor searching fixed dimensions , 1998, JACM.

[30]  Franz Aurenhammer,et al.  Voronoi diagrams—a survey of a fundamental geometric data structure , 1991, CSUR.

[31]  Chris L. Jackins,et al.  Oct-trees and their use in representing three-dimensional objects , 1980 .

[32]  Henry Fuchs,et al.  On visible surface generation by a priori tree structures , 1980, SIGGRAPH '80.

[33]  Andreas Henrich Improving the performance of multi-dimensional access structures based on k-d-trees , 1996, Proceedings of the Twelfth International Conference on Data Engineering.

[34]  David P. Dobkin,et al.  Space Searching for Intersecting Objects , 1987, J. Algorithms.

[35]  Mark H. Overmars Efficient Data Structures for Range Searching on a Grid , 1988, J. Algorithms.

[36]  Jon Louis Bentley,et al.  Multidimensional binary search trees used for associative searching , 1975, CACM.

[37]  Thomas S. Huang,et al.  A survey of construction and manipulation of octrees , 1988, Comput. Vis. Graph. Image Process..