Méthode efficace pour trouver KNN de tous les nœuds dans un arbre KD

Je suis actuellement en train de trouver des K plus proches voisins de tous les nœuds d'un équilibré KD-Tree (avec K=2).

Mon application est une variation du code de la Article de Wikipedia et c'est décemment rapide de trouver des KNN de n'importe quel nœud O(log N).

Le problème réside dans le fait que j'ai besoin de trouver KNN de chaque nœud. Venir avec sur O(N log N) si je itérer sur chaque nœud et d'effectuer la recherche.

Est-il un moyen plus efficace de faire cela?

source d'informationauteur St. John Johnson