Comment l'algorithme de partitionnement de l'espace pour trouver les voisins les plus proches travaillent?

StackOverflow https://stackoverflow.com/questions/1713736

Question

Pour trouver le plus proche voisin, Espace est Partitioning l'un des algorithmes. Comment ça marche?

Supposons que j'ai un ensemble de points 2D (coordonnées x et y), et je vis étant donné un point (a, b). Comment cet algorithme trouverait le voisin le plus proche?

Était-ce utile?

La solution

partitionnement Spacial est en fait une famille d'algorithmes étroitement liés que l'espace de partition afin que les applications peuvent traiter les points ou polygones plus facile.

Je pense qu'il ya plusieurs façons de résoudre votre problème. Je ne sais pas comment complexe, vous êtes prêt à construire votre solution. Une façon simple serait sans doute de construire un arbre binaire coupant l'espace en 2. Tous les points répartis entre un certain plan médian. Plantez votre arbre en subdivisant récursivement jusqu'à ce que vous manquez de points.

La recherche du plus proche voisin sera ensuite optimisé, car chaque arbre traversal de l'rétrécissant en bas de la zone de recherche.

Dans la littérature, ils appellent cela un kd arbre

Autres conseils

Ces deux vidéos devraient aider:

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top