Abstract

Searching is one of the most fundamental operations in many complex systems. However, the complexity of the search process would increase dramatically in high-dimensional space. K-dimensional (KD) tree, as a classical data structure, has been widely used in high-dimensional vital data search. However, at present, common methods proposed for KD tree construction are either unstable or time-consuming. This paper proposed a new algorithm to construct a balanced KD tree based on presorted results. Compared with previous similar method, the new algorithm could reduce the complexity of the construction process (excluding the presorting process) from O (KNlog2N) level to O (Nlog2N) level, where K is the number of dimensions and N is the number of data. In addition, with the help of presorted results, the performance of the new method is no longer subject to the initial conditions, which expands the application scope of KD tree.

Highlights

  • How to search quickly is one of the most fundamental problems in many research fields [1,2,3], such as grid remapping, pattern recognition, and ray tracing

  • Calculating the distances between the target point and all the other points would soon become unacceptable in high-dimensional cases

  • We proposed a new method that guarantees to construct the KD tree in O (Nlog2N) time, with the help of three additional integer arrays

Read more

Summary

Introduction

How to search quickly is one of the most fundamental problems in many research fields [1,2,3], such as grid remapping, pattern recognition, and ray tracing. Ere are two vital operations in building a KD tree: one is choosing the dimension to be divided, and the other is selecting the exact splitting point. To the best of the authors’ knowledge, Brown [13] is the first one who proposed a method to build a KD tree based on presorted results in O (KNlog2N) at worst. Cao [14] further improved the performance of this method by replacing superkeys with keys during the presorting and construction Both methods have to maintain K index arrays all the time during the construction, which degrades the complexity of the construction process from O (Nlog2N) to O (KNlog2N). Is paper proposed a new method to construct the KD tree based on presorted results, which can build a KD tree in O (Nlog2N) time under any conditions, and arbitrarily choose the splitting dimension.

Algorithm
Conclusions
Full Text
Paper version not known

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.