Skip to Main Content
This paper proposes a revised algorithm of the nearest neighbor searching (NNS) with the PCA based binary tree data structure by Sproull . In the PCA-tree, by the successive use of principal component analysis (PCA), database is partitioned into clusters. A cluster corresponds to a node of a complete binary tree. In the search step, the algorithm first choses a leaf node, i.e., a cluster, which is likely to include the nearest neighbor (NN) point. Then the exhaustive search only in the node is done. Other leaf nodes which are also likely to include the NN point are searched by the back tracking approach. The performance is improved by sorting the data on a leaf node to leaf node basis and updating the threshold value for choosing nodes by the minimum distance found so far. Sorting the data into leaf nodes contributes greatly to the improvement in the detection time of NN points. The threshold updating in ε-approximate nearest neighbors approach and a fixed threshold approach is enough efficient to cope with the deterioration of accuracy. The advantage of our revised approach is not only in the detection time but also in the computer memory usage. The k-dimensional tree approach ,  used in this paper does not need large sized additional tables, whereas the popular NNS algorithms with multiple hash functions method need significantly large tables for large sized databases.