我在这里遇到了一个难题,一个阵列中有50个矩形,另一阵列中有50个矩形。我需要找到两个最接近的矩形。
所以我使用这段代码:
for(int i=0;i<49;i++)
{
for(int j=0;j<49;j++)
{
double distance = Math.sqrt(Math.pow(rectF1.get(i).centerX() - rectF2.get(j).centerX(), 2)
+ Math.pow(rectF1.get(i).centerY() - rectF2.get(j).centerY(), 2));
}
}
它有效,但我必须检查2500次!而且如果直肠移动(他们这样做),那么我可能不会在合适的时机赶上最近的直肠!XX
您似乎将搜索基于矩形的中心。因此,您的问题变成了最近邻居问题。为了解决这个问题,我将使用KD-Tree:
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句