在2D数组中查找最近邻点

时间:2012-06-07 10:29:10

标签: php mysql html

我有一个2D阵列,在不同的位置有各种条目。然而,一些职位具有相同的价值(比如5)。我需要从任何其他定位元素中找到值为5的最近的块。!

图片在此链接:) This is the image to understand the problem better

在上面这张照片中。我们可以使用数字图像处理的概念来找到每个块之间的m距离。但如果问题空间太大(假设一个100X100或200X200的阵列),那么这种方式的解决方案将是时间。

在解决方案的过程中,我发现了这些链接。 Wikipedia Link for Nearest Neighbour

除了这个如何在编程中映射这整个事物......?

2 个答案:

答案 0 :(得分:2)

你可以为此尝试任何PL / SQL代码,然后你可以从那里得到最近的点。

答案 1 :(得分:0)

最简单(也许不是最有效)的方法是使用Wikipedia方法#1,如下所示:

循环所有坐标对,找到它们之间的距离。公式:sqrt((x2-x1)^ 2 +(y2-y1)^ 2)

跟踪哪一对最接近您正在测试的点,以及最近的距离。

每次计算后,测试距离是否较短;如果是,则覆盖距离和最近对变量。

如果你愿意,我可以扩展它。