This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
A Constant-Time Algorithm for Finding Neighbors in Quadtrees
July 2009 (vol. 31 no. 7)
pp. 1178-1183
Kunio Aizawa, Shimane University, Matsue
Shojiro Tanaka, Shimane University, Matsue
Quadtrees and linear quadtrees are well-known hierarchical data structures to represent square images of size 2^{r} \times 2^{r}. Finding the neighbors of a specific leaf node is a fundamental operation for many algorithms that manipulate quadtree data structures. In quadtrees, finding neighbors takes O(r) computational time for the worst case, where r is the resolution (or height) of a given quadtree. Schrack [1] proposed a constant-time algorithm for finding equal-sized neighbors in linear quadtrees. His algorithm calculates the location codes of equal-sized neighbors; it says nothing, however, about their existence. To ensure their existence, additional checking of the location codes is needed, which usually takes O(r) computational time. In this paper, a new algorithm to find the neighbors of a given leaf node in a quadtree is proposed which requires just O(1) (i.e., constant) computational time for the worst case. Moreover, the algorithm takes no notice of the existence or nonexistence of neighbors. Thus, no additional checking is needed. The new algorithm will greatly reduce the computational complexities of almost all algorithms based on quadtrees.

[1] G. Schrack, “Finding Neighbors of Equal Size in Linear Quadtrees and Octrees in Constant Time,” CVGIP: Image Understanding, vol. 55, pp. 221-230, 1992.
[2] R.A. Finkel and J.L. Bentley, “Quad Trees: A Data Structure for Retrieval on Composite Keys,” Acta Informatica, vol. 4, pp. 1-9, 1974.
[3] H. Samet, “Distance Transform for Images Represented by Quadtrees,” IEEE Trans. Pattern Analysis and Machine Intelligence, vol. 4, pp. 298-303, 1982.
[4] H. Samet, “A Quadtree Medial Axis Transform,” Comm. ACM, vol. 26, pp. 680-693, 1983.
[5] H. Samet, “A Top-Down Quadtree Traversal Algorithm,” IEEE Trans. Pattern Analysis and Machine Intelligence, vol. 7, pp. 94-98, 1985.
[6] D.R. Fuhrmann, “Quadtree Traversal Algorithms for Pointer-Based and Depth-First Representations,” IEEE Trans. Pattern Analysis and Machine Intelligence, vol. 10, pp. 955-960, 1988.
[7] H. Samet, “Neighbor Finding Techniques for Images Represented by Quadtrees,” Computer Graphics and Image Processing, vol. 18, pp.35-57, 1982.
[8] H. Samet, “Neighbor Finding in Images Represented by Octrees,” Computer Vision, Graphics, and Image Processing, vol. 46, pp. 367-386, 1989.
[9] S.-N. Yang and R.-R. Lee, “Efficient Parallel Neighbor Finding Algorithms for Quadtrees on Hypercubes,” J. Information Science and Eng., vol. 9, pp. 81-102, 1993.
[10] J. Vörös, “A Strategy for Repetitive Neighbor Finding in Images Represented by Quadtrees,” Pattern Recognition Letters, vol. 18, pp.955-962, 1997.
[11] H. Samet, The Design and Analysis of Spatial Data Structures. Addison-Wesley, 1990.
[12] H. Samet, Applications of Spacial Data Structures: Computer Graphics, Image Processing, and GIS. Addison-Wesley, 1990.
[13] I. Gargantini, “An Effective Way to Represent Quadtrees,” Comm. ACM, vol. 25, pp. 905-910, 1982.
[14] M.D. Berg, M.V. Kreveld, M. Overmars, and O. Schwarzkopf, Computational Geometry. Springer, 1998.

Index Terms:
Image processing, quadtrees, linear quadtrees, neighbor finding.
Citation:
Kunio Aizawa, Shojiro Tanaka, "A Constant-Time Algorithm for Finding Neighbors in Quadtrees," IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 31, no. 7, pp. 1178-1183, July 2009, doi:10.1109/TPAMI.2008.145
Usage of this product signifies your acceptance of the Terms of Use.