Area tree

from Wikipedia, the free encyclopedia

A range tree ( English range tree ) is a data structure for storing a quantity of points in k-dimensional real space . It is used in computer science in the area of algorithmic geometry and efficiently supports orthogonal area inquiries.

field of use

Such data structures are used in geographic information systems . Here they are used to search for geographic objects. Geographic information systems manage the spatial coordinates of these objects. The area tree now subdivides (partitions) the objects into subsets depending on their coordinates. This means that the search for a specific object can later be narrowed down to a small area and thus significantly accelerated. Such data structures are also known as index structures .

Mathematical description

In the simplest case, i.e. the one-dimensional area tree is a normal binary search tree. In general, the k-dimensional range tree is defined recursively:

Let { } be the coordinate axes of the

  • First construct a 1-dimensional area tree for the coordinate axis , i. H. for 1-dimensional points that result from cutting off the back coordinates. Each node is assigned an interval that extends from the smallest to the largest number that is stored in the subtree of the node.
  • Recursively construct for each inner node of the one -dimensional area tree from the -dimensional points that are contained in the subtree as roots and result from cutting off the first coordinate.
  • Connect the node of the with the corresponding one with the help of a pointer

The area tree constructed in this way supports orthogonal area queries in

Storage space
Time, where the size of the answer is, i.e. H. the number of points in the query rectangle. By fractional cascading the request time can be improved.

See also

literature

  • Rolf Klein: Algorithmic Geometry 2nd Edition. Springer-Verlag, Berlin Heidelberg 2005, ISBN 3-540-20956-5 .