有沒有更快的方法來找到特定節點(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