为了找到最近的邻居,Space Partitioning是其中一种算法。它是如何工作的?
假设我有一组2D点(x和y坐标),我得到一个点(a,b)。该算法如何找出最近的邻居?
答案 0 :(得分:4)
空间分区实际上是一系列密切相关的算法,它们对空间进行分区,以便应用程序可以更轻松地处理点或多边形。
我认为有很多方法可以解决您的问题。我不知道你愿意建立你的解决方案有多复杂。一种简单的方法可能是建立一个二进制树,将空间切割成2.所有点在一些中间平面之间划分。通过递归细分来构建树,直到用完点。
然后将优化搜索最近邻居,因为树的每次遍历都会缩小搜索区域。
在某些文献中,他们称之为kd tree
答案 1 :(得分:2)
这两个视频应该有所帮助: