Abstract:
This paper compares three data structures that support area operations on 2-space: linked lists, quad trees, and multidimensional binary trees (k-d trees). Region searchi...Show MoreMetadata
Abstract:
This paper compares three data structures that support area operations on 2-space: linked lists, quad trees, and multidimensional binary trees (k-d trees). Region searching is the most important operation these data structures must support in many applications. Insertion and deletion must also be reasonably fast. The three data structures are described and implementation considerations are discussed. Extensive experimentation was done using an experimental program that executed algorithms for all three data structures on the same problem. Results of this experimentation is presented to show the superior performance of k-d trees. The conclusion of this paper is that in applications where region search (or point search) on large problems is crucial (as in computer-aided design), k-d trees provide superior performance. Quad trees have become quite popular recently to solve the same problem--this may be due to unfamiliarity with k-d trees or a feeling that they are hard to implement. Actual working code for k-d trees (and quad trees) is included in this paper in an attempt to address both these problems.
Published in: IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems ( Volume: 4, Issue: 1, January 1985)