X-tree

From HandWiki
Short description: Index tree structure in computer science
X-tree
TypeTree
Invented1996
Time complexity in big O notation
Algorithm Average Worst case

In computer science tree data structures, an X-tree (for eXtended node tree[1]) is an index tree structure based on the R-tree used for storing data in many dimensions. It appeared in 1996,[2] and differs from R-trees (1984), R+-trees (1987) and R*-trees (1990) because it emphasizes prevention of overlap in the bounding boxes, which increasingly becomes a problem in high dimensions. In cases where nodes cannot be split without preventing overlap, the node split will be deferred, resulting in super-nodes. In extreme cases, the tree will linearize, which defends against worst-case behaviors observed in some other data structures.

Structure

The X-tree consists of three different types of nodes—data nodes, normal directory nodes and supernodes. The data nodes of the X-tree contain rectilinear minimum bounding rectangles (MBRs) together with pointers to the actual data objects, and the directory nodes contain MBRs together with pointers to sub-MBRs. Supernodes are large directory nodes of variable size(a multiple of the usual block size). The basic goal of supernodes is to avoid splits in the directory that would result in an inefficient directory structure.

References

  1. Selçuk Candan, K.; Luisa Sapino, Maria (31 May 2010). Cambridge University Press. ed. Data Management for Multimedia Retrieval. ISBN 9781139489584. https://books.google.com/books?id=Uk9tyXgQME8C&q=%22X-tree%22+%22extended+node+tree%22&pg=PA262. 
  2. Berchtold, Stefan; Keim, Daniel A.; Kriegel, Hans-Peter (1996). "The X-tree: An Index Structure for High-Dimensional Data". Proceedings of the 22nd VLDB Conference (Mumbai, India): 28–39. http://www.dbs.ifi.lmu.de/Publikationen/Papers/x-tree.ps.