变量假设
struct Point { float x , y ; }
Point a[m];
Point b[n];
最大点对 问题是在 a 里面,找最近的两点 ,
( ↑虽然这我也不会有效的方法 )
但我的问题是,把 a[i] 依序放入 b 中,
从 b 里找出与 a[i] 最近的点,
暴力法用虚码表示如下
for(i = 0 : m-1 )
{
min_idx = 0 ;
min_dist = distance( a[i], b[min_idx] );
for(j = 1 : n-1)
{
dist = distance( a[i] , b[j] ) ;
if ( dist < min_dist)
{
min_dist = dist ;
min_idx = j;
}
}
// min_dist , min_idx 是要求的 , 到时候会全部存下来
}
想请教是否有什么算法可较快完成上述需求?
或我该找什么 keyword ?
先谢谢各位。