161903基金今天净值:如何在n维空间m个数据中快速查找某个数据的一定距离内所有数据?

来源:百度文库 编辑:杭州交通信息网 时间:2024/04/29 15:03:09
这里所提的数据均指n维向量。另外也可以把该问题理解为“如何在n维空间m个数据中快速查找指定的小区域内所有的数据?”(注:小区域是规则的,若n维空间为二维,该小区域为某个确定的区间,若n维空间为三维,该小区域为某个确定的三维空间)

先用各点与该点在各坐标轴上的投影距离的绝对值进行筛选:即有任一投影距离绝对值大于规定距离的点则放弃.
这样可省去大量的平方与开方求距的运算.

一定距离: l
某个数据点: Q 有n个分量
m个数据点: P[i],各有n个分量
for (i=0;i<m;i++){
for (j=0;j<n;j++){
if ( fabs(P[i][j] - Q[j]) > l) goto Lab_next;
};
存放有用的点的号码;
Lab_next:;
}

然后精确计算,审核上面筛出的有用的点是否落在指定区.