有没有更快的方法来找到特定节点(x,y)和点(多点之间)之间的最短距离?或者使用暴力是唯一的方法呢?在这种情况下,我正在处理数千个点。我正在使用名为CodeBlocks的软件来执行此任务。目前使用这个。特定节点和点之间的最短距离
inline double dist(Point p1, Point p2)
{
return sqrt((p1.x - p2.x)*(p1.x - p2.x) +
(p1.y - p2.y)*(p1.y - p2.y));
}
double bruteForce(Point P[], int n, Point &p1)
{
double min = DBL_MAX;
for (int i = 0; i < n; ++i)
if (dist(p1, P[i]) < min) {
min = dist(p1, P[j]);
}
return min;
}
我相信他意味着比彻底的比较更快。这是从他的下一句话中隐含的。 – shasan 2014-11-14 17:27:46
我正在处理2D点 – 2014-11-14 17:30:33